Modifying problems
These problem modification routines change a problem object after it has been created.
Problem modification routines change a problem object after it has been created.
Modifications that can be made include:

adding rows and columns to the constraint matrix,

deleting rows and columns from the constraint matrix,

changing the sense of the objective function,

changing the value of coefficients in the constraint matrix,

changing an objective or righthand side coefficient,

changing the bounds on a variable,

changing the sense of a constraint, and

changing names of rows or columns.
When you are modifying multiple existing objects in the objectoriented APIs (C++, Java, C#.NET), you have a choice between modifying each object individually in a sequence of operations (such as in a loop) or making accumulated changes simultaneously in a single operation (for example, on an array of modeling objects). Generally, the single operation is more efficient than a sequence of operations.
For example, in the C++ API, it is possible to change the lower bounds on a set of variables through a sequence of invocations of the method IloNumVar::setLB; however, it is more efficient to accumulate the variables in an array (an instance of IloNumVarArray) and then to apply the method IloNumVarArray::setBounds simultaneously to all the variables in that array. The same observation about efficiency applies to objects of other classes derived from the base class IloExtractable, such classes as IloRange, IloSOS1, IloSOS2, and IloSemiContVar.
Names of classes, methods, and symbolic constants in the C#.NET API correspond very closely to those in the Java API with these systematic exceptions:

In the Java API, the names of classes begin with the prefix Ilo, whereas in C#.NET they do not.

In the Java API, the names of methods conventionally begin with a lowercase letter, for example,
addCols
, whereas in the C#.NET API, the names of methods conventionally begin with an uppercase (that is, capital) letter, for example,AddCols
according to Microsoft practice.
Purpose  Java API  C++ API  C API 

Adds a single variable  Create IloNumVar, IloIntVar, IloSemiContVar objects or use IloLPMatrix. addColumn  Create IloNumVar, IloIntVar, IloSemiContVar objects 
CPXXaddcols and CPXaddcols

Adds multiple variables  Use IloModeler.numVarArray(int, double, double, ilog.concert.IloNumVarArrayType), IloModeler.intVarArray(int, int, int), IloSemiContVar or use IloLPMatrix. addCols  Create IloNumVarArray, IloIntVarArray, IloSemiContVarArray objects 
CPXXaddcols and CPXaddcols

Adds a single variable without matrix coefficients  Create IloNumVar, IloIntVar, IloSemiContVar objects or use IloLPMatrix. addColumn  Create IloNumVar, IloIntVar, IloSemiContVar objects 
CPXXnewcols and CPXnewcols

Adds multiple variables without matrix coefficients  Use IloModeler.numVarArray(int, double, double, ilog.concert.IloNumVarType), IloModeler.intVarArray(int, int, int), IloMPModeler.semiContVarArray(int, double, double, ilog.concert.IloNumVarType), or use IloLPMatrix.addCols(ilog.concert.IloNumVar[])  Create IloNumVarArray, IloIntVarArray, IloSemiContVarArray objects 
CPXXnewcols and CPXnewcols

Adds constraints  IloModel.add(ilog.concert.IloAddable) or IloMPModeler.addRange(double, double), or IloModeler.addLe(double, ilog.concert.IloNumExpr) or IloModeler.addGe(double, ilog.concert.IloNumExpr), or IloModeler.addEq(double, ilog.concert.IloNumExpr), or IloLPMatrix.addRows(double[], double[], int[][], double[][])  IloModel:: add 
CPXXaddrows and CPXaddrows

Adds constraints without matrix coefficients  IloModel.add(ilog.concert.IloAddable) or IloMPModeler.addRange(double, double), or Ilomodeler.addLe(double, ilog.concert.IloNumExpr),s or IloModeler.addGe(double, ilog.concert.IloNumExpr), or IloModeler.addEq(double, ilog.concert.IloNumExpr), or IloLPMatrix.addRows(double[], double[], int[][], double[][])  IloModel:: add 
CPXXnewrows and CPXnewrows

Deletes a single constraint  IloModel.remove(ilog.concert.IloAddable),(IloAddable) or IloCplexModeler.delete(IloCopyable),(IloCopyable), or IloLPMatrix.removeRow(int). 
IloRange::
end or IloModel::
remove
(const
IloExtractable
)

CPXXdelcols and CPXdelcols

Deletes a range of constraints  IloModel.remove(ilog.concert.IloAddable[]), or IloCplexModeler.delete(IloCopyable[], int, int), or IloLPMatrix.removeRows(int[])  IloRange:: end or IloModel:: remove(const IloExtractableArray) 
CPXXdelrows and CPXdelrows

Deletes a set of constraints  IloModel.remove(ilog.concert.IloAddable[]), or IloCplexModeler.delete(IloCopyable[], int, int)., or IloLPMatrix.removeRows(int, int)  IloRangeArray:: endElements or IloModel:: remove(const IloExtractableArray) 
CPXXdelsetrows and CPXdelsetrows

Deletes names of rows and columns     
CPXXdelnames and CPXdelnames

Deletes a single variable  IloMPModeler.delete(IloCopyable)(IloCopyable)  IloNumVar:: end, IloIntVar:: end, IloSemiContVar:: end 
CPXXdelcols and CPXdelcols

Deletes a range of variables  IloCplexModeler.delete(IloCopyable[], int, int)  IloNumVar:: end, IloIntVar:: end, IloSemiContVar:: end 
CPXXdelcols and CPXdelcols

Deletes a set of variables  IloCplexModeler.delete(IloCopyable[], int, int)  IloNumVar:: end, IloIntVar:: end, IloSemiContVar:: end 
CPXXdelsetcols and CPXdelsetcols

Changes objective sense  IloObjective.setSense(ilog.concert.IloObjectiveSense)  IloObjective:: setSense 
CPXXchgobjsen and CPXchgobjsen

Changes sense of a single constraint  IloRange.setLB(double), IloRange.setUB(double)  IloRange:: setLB, setUB 
CPXXchgsense and CPXchgsense

Changes sense of multiple constraints  IloRange.setBounds(double, double)  IloRange:: setBounds 
CPXXchgsense and CPXchgsense

Changes a coefficient in a matrix, rhs, or objective function 
IloMPModeler.addToExpr(ilog.concert.IloRange, ilog.concert.IloNumExpr) IloLPMatrix.setNZ(int, int, double) (for matrix) IloRange.setLB(double), IloRange.setUB(double), IloRange#setBounds(double, double) (for rhs) IloMPModeler.setLinearCoef(ilog.concert.IloObjective, ilog.concert.IloNumVar, double) (for objective) 
IloRange:: setLinearCoef (for matrix) IloRange:: setLB, IloRange:: setUB, IloRange:: setBounds (for rhs) IloObjective:: setLinearCoef (for objective) 
CPXXchgcoef and CPXchgcoef

Changes a list of matrix coefficients  IloMPModeler.setLinearCoefs(ilog.concert.IloRange, double[], ilog.concert.IloNumVar[]) or IloLPMatrix.setNZs(int[], int[], double[])  IloRange:: setLinearCoefs 
CPXXchgcoeflist and CPXchgcoeflist

Changes a coefficient in the Q matrix  IloMPModeler.addToExpr(ilog.concert.IloRange, ilog.concert.IloNumExpr) or IloObjective.setExpr(ilog.concert.IloNumExpr)  IloObjective:: setExpr 
CPXXchgqpcoef and CPXchgqpcoef

Changes a single bound  For IloNumVar, IloIntVar, and IloSemiContVar objects, use the methods setLB, setUB and IloSemiContVar. setSemiContLB  For IloNumVar, IloIntVar, IloBoolVar, and IloSemiContVar objects, use the methods setLB, setUB, setBounds, and setSemiContLB 
CPXXchgbds and CPXchgbds

Changes multiple bounds  For IloNumVar, IloIntVar, and IloSemiContVar objects, use the methods setLB, setUB and IloSemiContVar. setSemiContLB  For IloNumVar, IloIntVar, IloBoolVar, and IloSemiContVar objects, use the methods setLB, setUB, setBounds, and setSemiContLB 
CPXXchgbds and CPXchgbds

Changes a single coefficient in objective function  IloMPModeler.setLinearCoef(ilog.concert.IloObjective, ilog.concert.IloNumVar, double) or IloObjective. setExpr  IloObjective:: setLinearCoef, setExpr 
CPXXchgobj and CPXchgobj

Changes multiple coefficients in objective function  IloMPModeler.setLinearCoefs(ilog.concert.IloObjective, double[], ilog.concert.IloNumVar[]) or IloObjective. setExpr  IloObjective:: setLinearCoef, setExpr 
CPXXchgobj and CPXchgobj

Changes a single coefficient in righthand side  IloRange. setLB, setUB, IloRange#setBounds(double, double)  IloRange:: setLB, setUB, setBounds 
CPXXchgrhs and CPXchgrhs

Changes multiple coefficients in righthand side  IloRange. setLB, setUB, IloRange#setBounds(double, double)  IloRange:: setLB, setUB, setBounds 
CPXXchgrhs and CPXchgrhs

Changes range coefficients of a set of constraints  IloRange. setLB, setUB, IloRange#setBounds(double, double)  IloRange:: setLB, setUB, setBounds 
CPXXchgrngval and CPXchgrngval

Changes name of a variable or constraint  IloRange. setName For IloNumVar, IloIntVar, IloSemiContVar, use the method setName. 
IloRange:: setName For IloNumVar, IloIntVar, IloBoolVar, IloSemiContVar, use the method setName 
CPXXchgname and CPXchgname

Changes names of constraints  IloRange. setName  IloRange:: setName 
CPXXchgrowname and CPXchgrowname

Changes names of variables  For IloNumVar, IloIntVar, IloSemiContVar, use the method setName.  For IloNumVarArray, IloIntVarArray, IloBoolVarArray, IloSemiContVarArray, use the method setName 
CPXXchgcolname and CPXchgcolname

Changes problem name  IloModel. setName  IloModel:: setName 
CPXXchgprobname and CPXchgprobname

Changes problem type  Use IloConversion objects or IloCplex. solveFixed  IloConversion objects or IloCplex:: solveFixed 
CPXXchgprobtype and CPXchgprobtype

Changes variable type  Use IloConversion objects  Use IloConversion objects 
CPXXchgctype and CPXchgctype

Adds a single Special Ordered Set  Create and add IloSOS1 or IloSOS2 objects or use IloMPModeler.addSOS1(ilog.concert.IloNumVar[], double[]) orIloMPModeler.addSOS2(ilog.concert.IloNumVar[], double[]) 
Create and add IloSOS1 or IloSOS2 objects 
CPXXaddsos and CPXaddsos

Adds multiple Special Ordered Sets  IloSOS classes implement the interface IloAddable, both individual objects and arrays of objects.  Create and add IloSOS1Array or IloSOS2Array objects 
CPXXaddsos and CPXaddsos

Removes a single Special Ordered Set  IloModel. remove (IloSOS classes implement the interface IloAddable, both individual objects and arrays of objects).  IloSOS1:: end, IloSOS2:: end 
CPXXdelsetsos and CPXdelsetsos

Removes multiple Special Ordered Sets  IloModel. remove (IloSOS classes implement the interface IloAddable, both individual objects and arrays of objects).  IloSOS1:: removeFromAll, IloSOS2:: removeFromAll 
CPXXdelsetsos and CPXdelsetsos

Removes all MIP priority orders from a single variable  IloCplex. delPriority  IloCplex:: delPriority 
CPXXcopyorder and CPXcopyorder
with
item count set to 0 or set CPX_PARAM_MIPORDIND to
0 and order will be ignored 
Removes all MIP priority orders from multiple variables  IloCplex. delPriorities  IloCplex:: delPriorities 
CPXXcopyorder and CPXcopyorder
with
item count set to 0 or set CPX_PARAM_MIPORDIND to
0 and order will be ignored 
Removes all MIP branching directives from a single variable  IloCplex. delDirection  IloCplex:: delDirection  CPXXcopyorder and CPXcopyorder with item count set to 0 or set CPX_PARAM_MIPORDIND to 0 and order will be ignored 
Removes all MIP branching directives from multiple variables  IloCplex. delDirections  IloCplex:: delDirections 
CPXXcopyorder and CPXcopyorder
with
item count set to 0 or set CPX_PARAM_MIPORDIND to
0 and order will be ignored 
Removes cuts  IloCplex. clearCuts  IloCplex:: clearCuts   