Limbo 3.5.4
Loading...
Searching...
No Matches
test_LPSolveApi.cpp
Go to the documentation of this file.
1
7#include <iostream>
9
21int main()
22{
23 // ILP model
25 model_type optModel;
26
27 // create variables
28 model_type::variable_type var1 = optModel.addVariable(0, 1, limbo::solvers::CONTINUOUS, "x1");
29 model_type::variable_type var2 = optModel.addVariable(0, 1, limbo::solvers::CONTINUOUS, "x2");
30 model_type::variable_type var3 = optModel.addVariable(0, 1, limbo::solvers::CONTINUOUS, "x3");
31 model_type::variable_type var4 = optModel.addVariable(0, 1, limbo::solvers::CONTINUOUS, "x4");
32
33 // create objective
34 optModel.setObjective(var1+var2+var3+var4);
35 optModel.setOptimizeType(limbo::solvers::MIN);
36
37 // create constraints
38 optModel.addConstraint(var1 - var2 >= 0.5, "c1");
39 optModel.addConstraint(var4 - var3 >= 0.1, "c2");
40 optModel.addConstraint(var2 - var3 >= 0.2, "c3");
41
42 // solve by LPSolve
44 solver_type solver (&optModel);
46 lpsolveParams.setVerbose(FULL);
47
48 limbo::solvers::SolverProperty optStatus = solver(&lpsolveParams);
49
50 std::cout << "optStatus = " << optStatus << std::endl;
51
52 return 0;
53}
lpsolve API wrapper using its C API.
LPSolve API with limbo::solvers::LinearModel.
Definition LPSolveApi.h:110
Base class for custom LPSolve parameters.
Definition LPSolveApi.h:63
void setVerbose(int v)
set verbose level
Definition LPSolveApi.h:92
model to describe an optimization problem
Definition Solvers.h:1161
variable_type addVariable(variable_value_type lb, variable_value_type ub, SolverProperty nt, std::string name="")
add one variable
Definition Solvers.h:1365
SolverProperty
Some enums used in solver.
Definition Solvers.h:30
@ CONTINUOUS
floating point number
Definition Solvers.h:35
@ MIN
minimize objective
Definition Solvers.h:31
int main()
main function