Sie sind auf Seite 1von 4

ILOSTLBEGIN : Macro which enables to run application with Standard Template Library

using namespace std; namespaces allows us to group a set of global classes, objects and/or
functions under a name. If you specify using namespace std then you don't have to
put std:: throughout your code (e.g. cout instead of std::cout). The program will know to look in
the std library to find the object. Namespace std contains all the classes, objects and functions
of the standard C++ library.

Classes
IloEnv A class of environments which manages memory and identifiers for
modeling objects
Syntax: IloEnv X; Declaring an environment ‘X’ we will be working in.

IloCplex : Class that solves optimization problem. An instance of class extracts and solves
model.
Syntax: Extraction : IloCplex Extract_name(model name);
Solving : Extract_name.solve();
Result : Extract_name.getstatus();
IloNumVar Class of Numeric variables
Syntax: IloNumVar Name(Environment, Lower-bound, Upper-bound, Type);
Ex: IloNumVar Y(env, 0, IloInfinity, ILOFLOAT);

IloIntVar Class of Integer Variables


Syntax: IloIntVar Name(Environment, LB, UB);

IloBoolVar Class of binary variables

IloExpr Class of Expressions, The variables in an expression must all belong to the same
environment as the expression itself.
Syntax:IloExpr E= Y+Z;
IloExpr objective(Environment name);

IloNumVarArray Array class of Numeric variables


Syntax: IloNumVarArray name(Environment, Size, LB, UB, Type)

IloIntVarArray Array class of integer variables


Syntax: IloIntVarArray name( Environment, Size, LB, UB)

IloBoolVarArray Array Class of Boolean Variables


Syntax: IloBoolVarArray name(Environment, size)

IloArray Used to create multidimensional arrays


Syntax: IloArray<IloArray<IloIntArray> > represents a 3D Integer Array

IloIntArray Array class of basic integer class

IloNumArray Array class of basic floating point class


IloBoolArray Array class for basic Boolean class

IloModel Class for models. Models consist of constraints, variables and objectives.
Syntax: IloModel Modelname(Environment containing model)

IloRange Class for range in a model

Typedef
IloNum Floating point numbers
IloInt Signed Integers
Ilobool Boolean numbers

Functions
IloMinimize Minimizing an objective
Syntax: IloMinimize (Environment name, Objective)

IloMaximize Maximizing an objective


Syntax: IloMaximize (Environment name, Objective)

Model.add() : Used to add constraints, objective function to the model.


Syntax: Model.add(Condition)
Model.add(Ilominimize(env, obj)

End() : Used to erase the expressions or environment to avoid wastage of memory space and
confusion among variables or expressions
Syntax: Environment name.end() ;
Expression.end();

getObjValue: Gives the objective value for the optimal solution


Syntax: Extract_name.getobjValue();

setName: Gives name to the variable


Syntax: Variable_to_be_named.setname(Name)
Example: sprintf(var,"YI_h(%d,%d,%d)",z,j,d);
YI[z][j][d].setName(var);

getStatus: States whether the model has optimal, infeasible or unbounded solution
Syntax: Extract_name.getStatus();
getNrows: Gives the number of constraints
getNcolumns: Gives the number of variables
system("pause"): Pauses the system, helps in debugging

cplex.exportModel ("lpex1.lp"); writes the model generated to a file

Cplex.setParam(x)

x Function
IloCplex::TiLim,t Sets the maximum time, in seconds, for a call to an optimizer. This time limit applies also
to the infeasibility finder. The time is measured in terms of either CPU time or elapsed
time, according to the setting of the CLOCKTYPE parameter. The time limit for an
optimizer applies to the sum of all its steps, such as preprocessing, crossover, and
internal calls to other optimizers. In a sequence of calls to optimizers, the limit is not
cumulative but applies to each call individually. For example, if you set a time limit of 10
seconds, and you call mipopt twice then there could be a total of (at most) 20 seconds of
running time if each call consumes its maximum allotment.
IloCplex::WorkMem ,x Specifies an upper limit on the amount of central memory, in megabytes, that CPLEX is
permitted to use for working files
IloCplex::NodeFileInd ,N N=0 No node file
N=1 Node file in memory and compressed (default)
N=2 Node file on disk
N=3 Node file on disk and compressed
IloCplex::NodeLim,N Sets the maximum number of nodes solved before the algorithm terminates, without
reaching optimality to N. When set
to 0 (zero), CPLEX does not create any nodes, but it does solve the root node LP
relaxation and repeatedly apply
cuts and resolve this LP.
IloCplex::NodeSel,N N=0 [CPX_NODESEL_DFS] Depth-first search
N=1 [CPX_NODESEL_BESTBOUND] Best-bound search(default)
N=2 [CPX_NODESEL_BESTEST] Best-estimate search
N=3 [CPX_NODESEL_BESTEST_ALT]
Alternative best-estimate search
IloCplex::PreInd, N N=0 [CPX_OFF] Off (do not use presolve)
N=1 [CPX_ON] On (use presolve)(default)
IloCplex::Reduce,N N=0 No primal and dual reductions
N=1 Only primal reductions
N=2 Only dual reductions (default)
N=3 Both primal and dual reductions
IloCplex::RootAlg, N Determines which LP algorithm should be used to solve the initial relaxation of the MIP.
N=0 [CPX_ALG_AUTOMATIC] Automatic (default)
N=1 [CPX_ALG_PRIMAL] Primal Simplex
N=2 [CPX_ALG_DUAL] Dual Simplex
N=3 [CPX_ALG_NET] Network Simplex
N=4 [CPX_ALG_BARRIER] Barrier
N=5 [CPX_ALG_SIFTING] Sifting
N=6 [CPX_ALG_CONCURRENT] Concurrent Dual,
Barrier and Primal
IloCplex::NodeAlg,N MIP subproblem LP algorithm.Sets the algorithm to be used on MIP subproblems.
N=0 [CPX_ALG_AUTOMATIC] Let CPLEX choose (Automatic)
N=1 [CPX_ALG_PRIMAL] Primal Simplex
N=2 [CPX_ALG_DUAL] Dual Simplex
N=3 [CPX_ALG_NET] Network Simplex
N=4 [CPX_ALG_BARRIER] Barrier
N=5 [CPX_ALG_SIFTING] Sifting
IloCplex::TreLim,N Sets an absolute upper limit on the size (in megabytes) of the branch & cut tree to N MB.
If this limit is exceeded, CPLEX terminates optimization
IloCplex::EpGap,N Relative mipgap tolerance.
Sets a relative tolerance on the gap between the best integer objective and the objective
of the best node remaining 0<N<1 (default 10-4)
IloCplex::EpAGap,N Sets an absolute tolerance on the gap between the best integer objective and the
objective of the best node remaining to N (default 10-6)

Cplex.getParam(x)

x Function
IloCplex::EpInt Specifies the amount by which an integer variable can be different from an integer and
still be considered feasible. A value of zero is permitted and the optimizer will attempt to
meet this tolerance. However, in some models, computer roundoff may still result in
small, nonzero deviations from integrality

Cplex.setOut(env.getNullStream()) Stops CPLEX output from appearing on Command Prompt

Das könnte Ihnen auch gefallen