|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--ilog.concert.IloColumn
Objects of class IloColumn
are used to create a variable
using column-wise modeling. In column-wise modeling, newly
constructed variables are inserted into existing
modeling objects. The term column-wise comes from linear programing, where
the constraints are typically represented as a matrix. Adding new
variables to the optimization problem corresponds to adding columns to
the constraint matrix.
The procedure for column-wise modeling is as follows.
Start from a set of modeling objects of these classes:
IloObjective
,IloRange
, andIloLPMatrix
IloMPModeler.column()
with the object as parameter,
along with the other parameters needed to install a new variable in the
existing modeling objects. See the documentation of the
IloMPModeler.column()
methods for the details of
these parameters. These methods return objects of type
IloColumn
that contain information about how to add a new
variable to the modeling object for which the
IloMPModeler.column()
method has been called.
The IloColumn
objects can then be linked to an aggregate
IloColumn
object using method IloColumn.and()
.
This aggregate object contains information about how to add a new variable
to all of the modeling objects represented by its parts. If the new
variable is to be installed in only one modeling object, there is no need
to use the method and()
.
The IloColumn
object constructed this way is now ready to be
used to create a new variable. This is done by passing the
IloColumn
object as a parameter to the constructor methods for
variables, for example IloMPModeler.numVar()
or
IloMPModeler.intVar()
. The newly created variable will
immediately be part of the existing modeling objects that have been used
to construct the IloColumn
object.
The following example function shows how to create a variable with bounds
0
and 1
and install it in an objective and a range
constraint, with linear coefficients 2
and 3
:
IloNumVar newColumn(IloMPModeler modeler, IloObjective obj, IloRange rng) { IloColumn objcol = modeler.column(obj, 2.0); IloColumn rngcol = modeler.column(rng, 3.0); return modeler.numVar(objcol.and(rngcol), 0.0, 1.0); }
IloMPModeler.column(IloObjective, double)
,
IloMPModeler.column(IloLPMatrix)
,
IloMPModeler.column(IloRange, double)
,
IloMPModeler.numVar(IloColumn, double, double)
,
IloMPModeler.intVar(IloColumn, int, int)
,
IloMPModeler.semiContVar(IloColumn, double, double, IloNumVarType)
Constructor Summary | |
IloColumn()
|
Method Summary | |
ilog.concert.IloColumn |
and(ilog.concert.IloColumn column)
Links two IloColumn objects. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public IloColumn()
Method Detail |
public ilog.concert.IloColumn and(ilog.concert.IloColumn column)
IloColumn
objects. When using the returned
IloColumn
object for constructing a new variable, the new
variable will be installed in the modeling objects handled by the invoking
IloColumn
object as well as the modeling objects handled by
IloColumn
passed as the parameter column
.
column
- The IloColumn
object to be linked with the invoking
IloColumn
.
IloColumn
object describing the addition of a
newly created variable to the modeling objects handled by the
invoking IloColumn
and to the modeling objects
handled by the argument column
.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |