Limbo
3.5.4
Toggle main menu visibility
Loading...
Searching...
No Matches
test
solvers
test_LPSolveApi.cpp
Go to the documentation of this file.
1
7
#include <iostream>
8
#include <
limbo/solvers/api/LPSolveApi.h
>
9
21
int
main
()
22
{
23
// ILP model
24
typedef
limbo::solvers::LinearModel<double, long>
model_type;
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
43
typedef
limbo::solvers::LPSolveLinearApi<model_type::coefficient_value_type, model_type::variable_value_type>
solver_type;
44
solver_type solver (&optModel);
45
limbo::solvers::LPSolveParameters
lpsolveParams;
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
}
LPSolveApi.h
lpsolve API wrapper using its C API.
limbo::solvers::LPSolveLinearApi
LPSolve API with limbo::solvers::LinearModel.
Definition
LPSolveApi.h:110
limbo::solvers::LPSolveParameters
Base class for custom LPSolve parameters.
Definition
LPSolveApi.h:63
limbo::solvers::LPSolveParameters::setVerbose
void setVerbose(int v)
set verbose level
Definition
LPSolveApi.h:92
limbo::solvers::LinearModel
model to describe an optimization problem
Definition
Solvers.h:1161
limbo::solvers::LinearModel::addVariable
variable_type addVariable(variable_value_type lb, variable_value_type ub, SolverProperty nt, std::string name="")
add one variable
Definition
Solvers.h:1365
limbo::solvers::SolverProperty
SolverProperty
Some enums used in solver.
Definition
Solvers.h:30
limbo::solvers::CONTINUOUS
@ CONTINUOUS
floating point number
Definition
Solvers.h:35
limbo::solvers::MIN
@ MIN
minimize objective
Definition
Solvers.h:31
main
int main()
main function
Definition
test_LPSolveApi.cpp:21
Generated on
for Limbo by
1.17.0