Projects COIN-OR
1 projects
1.1 clp
1.2 cbc
1.3 symphony
1.4 pulp
1.5 smi
projects
clp
coin-or lp (clp or clp) open-source linear programming solver written in c++. published under common public license can used in proprietary software none of restrictions of gnu general public license. clp meant used callable library, although stand-alone executable version can built. designed reliable commercial solver (if bit slower) , able tackle large problems.
clp designed solve linear programming problems such as :
minimize
c
1
x
1
+
c
2
x
2
{\displaystyle c_{1}x_{1}+c_{2}x_{2}\,}
subject problem constraints of following form
a
11
x
1
+
a
12
x
2
≤
b
1
{\displaystyle a_{11}x_{1}+a_{12}x_{2}\leq b_{1}}
a
21
x
1
+
a
22
x
2
≤
b
2
{\displaystyle a_{21}x_{1}+a_{22}x_{2}\leq b_{2}}
a
31
x
1
+
a
32
x
2
≤
b
3
{\displaystyle a_{31}x_{1}+a_{32}x_{2}\leq b_{3}}
and non-negative variables
x
1
≥
0
{\displaystyle x_{1}\geq 0}
x
2
≥
0
{\displaystyle x_{2}\geq 0}
with millions of variables and/or constraints. main algorithm simplex algorithm.
clp used in other coin-or projects such symphony, branch cut , price (bcp), coin-or branch , cut (cbc), , others.
cbc
coin-or branch , cut (cbc or cbc) open-source mixed integer programming solver written in c++. can used both stand-alone executable , callable library (through mathematical programming language (ampl) [natively], general algebraic modeling system (gams) [using links provided coin-or optimization services (os) , gamslinks projects], mpl [through coinmp project], aimms [through aimmslinks project], or pulp).
symphony
single- or multi-process optimization on networks (symphony) open source branch , cut framework solving mixed integer programs (mips) on heterogeneous networks. can use clp, cplex, xpress or other linear programming solvers solve underlying linear programs.
symphony callable library implements both sequential , parallel versions of branch, cut , price solve milps. branch, cut , price algorithm similar branch , bound algorithm additionally includes cutting-plane methods , pricing algorithms. user of library can customize algorithm in number of ways supplying application-specific subroutines reading in custom data files, generating application-specific cutting planes, or applying custom branching rules, resulting in customized branch , cut algorithm. components of algorithm, e.g., search tree management, management of linear programming solution, cut pool management, , communication management, internal library , need not touched user. executables can built in number of configurations ranging sequential parallel independently functioning cut generators, cut pools, , lp solvers. distributed version runs in environment supported pvm message passing protocol. same source code can compiled shared-memory architectures using openmp compliant compiler.
symphony reads mps (through coin-or mps reader) , gnu mathprog files. symphony not have lp-solver of own, can used solvers clp, cplex, xpress through osi-interface. cuts generated using coin s cut generation library: cgl. symphony has structure specific implementations problems traveling salesman problem, vehicle routing problem, set partitioning problem, mixed postman problem, etc. symphony has interactive shell user can enter commands execute , control program.
pulp
pulp lp/ip modeler written in python. can generate mps or lp files , call glpk, clp/cbc, cplex, , gurobi solve linear problems. pulp default optimization tool in solverstudio excel.
smi
smi stochastic programming modeler , solver written in c++. can read stochastic mps , offers direct interfaces constructing stochastic programs. generates deterministic equivalent linear program, solves it, , provides interfaces access scenario solutions.
Comments
Post a Comment