ilog.concert
Class IloColumn

java.lang.Object
  |
  +--ilog.concert.IloColumn

public abstract class IloColumn
extends java.lang.Object

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:

Call method 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);
  }
  

See Also:
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

IloColumn

public IloColumn()
Method Detail

and

public ilog.concert.IloColumn and(ilog.concert.IloColumn column)
Links two 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.

Parameters:
column - The IloColumn object to be linked with the invoking IloColumn.
Returns:
An 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.