公共接口IloLinearIntExpr 扩展IloIntExpr
IloLinearIntExpr类型的对象表示整数线性表达式,其形式为sum_{i=1..n} a_i * x_i + c
x_i are variables of type IloIntVar and c and a_i are integer values. 注意,变量类型必须在编译时就知道,才能与 "IloLinearIntExpr一起使用。 变量的 java 类型必须是 "IloIntVar,不能是变量类型为 "IloNumVarType.Int的 "IloNumVar。使用这些方法创建了IloLinearIntExpr对象:
IloModeler.linearIntExpr()IloModeler.scalProd()a_i * x_iIloLinearIntExpr对象中的所有信息。 常量项通过 "getConstant()方法访问。 The values and variables of the terms a_i * x_i are accessed using iterator objects of type IloLinearIntExpr.Iterator that can be created using the method linearIterator().| 修饰符和类型 | 方法和说明 |
|---|---|
void |
add(IloLinearIntExpr sc)添加作为参数传递给调用对象的标量乘积中的所有项。
|
void |
addTerm(IloIntVar var,
int coef)将新术语 "
coef * var添加到标量乘积中。 |
void |
addTerm(int coef,
IloIntVar var)将新术语 "
coef * var添加到标量乘积中。 |
void |
addTerms(IloIntVar[] var,
int[] coef)将新术语 "
sum_i(coef[i] * var[i])添加到标量乘积中。 |
void |
addTerms(IloIntVar[] var,
int[] coef,
int start,
int num)将新术语 "
sum_i(coef[i] * var[i])添加到标量乘积中。 |
void |
addTerms(int[] coef,
IloIntVar[] var)将新术语 "
sum_i(coef[i] * var[i])添加到标量乘积中。 |
void |
addTerms(int[] coef,
IloIntVar[] var,
int start,
int num)将新术语 "
sum_i(coef[i] * var[i])添加到标量乘积中。 |
void |
clear()删除调用线性表达式中的所有项,留下 "
0表达式。 |
int |
getConstant()从调用的 "
IloLinearIntExpr中查询常数项。 |
IloLinearIntExprIterator |
linearIterator()返回调用 "
IloLinearIntExpr表达式中变量的迭代器。 |
void |
remove(IloIntVar var)从调用的 "
IloLinearIntExpr表达式中删除一个变量。 |
void |
remove(IloIntVar[] var)从调用的 "
IloLinearIntExpr表达式中移除一组变量。 |
void |
remove(IloIntVar[] var,
int start,
int num)从调用的 "
IloLinearIntExpr表达式中移除一组变量。 |
void |
setConstant(int val)将调用 "
IloLinearIntExpr的常数项设置为 "val。 |
voidaddTerm(intcoef、
IloIntVarvar)
抛出IloException
coef * var添加到标量乘积中。不检查调用的 "IloLinearIntExpr对象是否包含与变量 "var相同的术语。 这种方法可以创建重复的术语 "... + a_i * x + ... + a_k * x + ...,并将其连接到单个术语 "... + (a_i + a_k) * x + ...中。
重复不会产生错误,但在遍历 "IloLinearIntExpr的条款时需要更多内存和运行时间。
IloExceptioncoef--新增项的系数。var- 新增项的变量。void addTerm(IloIntVarvar、 int coef) 抛出IloException
coef * var添加到标量乘积中。不检查调用的 "IloLinearIntExpr对象是否包含与变量 "var相同的术语。 这种方法可以创建重复的术语 "... + a_i * x + ... + a_k * x + ...,并将其连接到单个术语 "... + (a_i + a_k) * x + ...中。
重复不会产生错误,但在遍历 "IloLinearIntExpr的条款时需要更多内存和运行时间。
IloExceptionvar- 新增项的变量。coef--新增项的系数。voidaddTerms(int[] coef、
IloIntVar[] var、
int start,
int num)
抛出IloException
sum_i(coef[i] * var[i])添加到标量乘积中。不检查调用的 "IloLinearIntExpr对象是否包含与变量 "var相同的术语。 这种方法可以创建重复的术语 "... + a_i * x + ... + a_k * x + ...,并将其连接到单个术语 "... + (a_i + a_k) * x + ...中。
重复不会产生错误,但在遍历 "IloLinearIntExpr的条款时需要更多内存和运行时间。
IloExceptioncoef- 新增项的系数。var- 新增术语的变量。start--要添加的 "coef, var中的第一个元素。num--新增术语的数量。void addTerms(IloIntVar[] var、 int[] coef、 int start, int num) 抛出IloException
sum_i(coef[i] * var[i])添加到标量乘积中。不检查调用的 "IloLinearIntExpr对象是否包含与变量 "var相同的术语。 这种方法可以创建重复的术语 "... + a_i * x + ... + a_k * x + ...,并将其连接到单个术语 "... + (a_i + a_k) * x + ...中。
重复不会产生错误,但在遍历 "IloLinearIntExpr的条款时需要更多内存和运行时间。
IloExceptionvar- 新增术语的变量。coef- 新增项的系数。start--要添加的 "coef, var中的第一个元素。num--新增术语的数量。voidaddTerms(int[] coef、
IloIntVar[] var)
抛出IloException
sum_i(coef[i] * var[i])添加到标量乘积中。不检查调用的 "IloLinearIntExpr对象是否包含与变量 "var相同的术语。 这种方法可以创建重复的术语 "... + a_i * x + ... + a_k * x + ...,并将其连接到单个术语 "... + (a_i + a_k) * x + ...中。
重复不会产生错误,但在遍历 "IloLinearIntExpr的条款时需要更多内存和运行时间。
IloExceptioncoef--添加项的系数。var- 新增术语的变量。void addTerms(IloIntVar[] var、 int[] coef) 抛出IloException
sum_i(coef[i] * var[i])添加到标量乘积中。不检查调用的 "IloLinearIntExpr对象是否包含与变量 "var相同的术语。 这种方法可以创建重复的术语 "... + a_i * x + ... + a_k * x + ...,并将其连接到单个术语 "... + (a_i + a_k) * x + ...中。
重复不会产生错误,但在遍历 "IloLinearIntExpr的条款时需要更多内存和运行时间。
IloExceptionvar- 新增术语的变量。coef--添加项的系数。void addIloLinearIntExprsc) 抛出IloException
不检查调用的 "IloLinearIntExpr对象是否包含与变量 "var相同的术语。 这种方法可以创建重复的术语 "... + a_i * x + ... + a_k * x + ...,并将其连接到单个术语 "... + (a_i + a_k) * x + ...中。
重复不会产生错误,但在遍历 "IloLinearIntExpr的条款时需要更多内存和运行时间。
IloExceptionsc- 标量乘积表达式,其项被添加到调用对象中。void clear()
抛出IloException
0表达式。IloExceptionintgetConstant()
抛出IloException
IloLinearIntExpr中查询常数项。IloExceptionvoidsetConstant(intval)
抛出IloException
IloLinearIntExpr的常数项设置为 "val。IloExceptionval- 新常数项。void removeIloIntVarvar) 抛出IloException
IloLinearIntExpr表达式中删除一个变量。 从调用的 "IloLinearIntExpr对象中删除调用线性表达式中带有指定变量的所有项。 如果变量 "var在调用 "IloLinearIntExpr时出现多次,则会删除所有出现的变量。 IloLinearIntExpr.Iterator可用于删除单个术语,而不考虑重复。IloExceptionvar- 要删除的变量。void remove(IloIntVar[] var、 int start, int num) 抛出IloException
IloLinearIntExpr表达式中移除一组变量。 删除调用线性表达式中所有包含 "var[start], ..., var[start+num-1]变量的项。 如果变量 "var在调用 "IloLinearIntExpr时出现多次,则会删除所有出现的变量。 IloLinearIntExpr.Iterator可用于删除单个术语,而不考虑重复。IloExceptionvar- 包含要删除的变量的数组。start--要删除的 "var中第一个变量的索引。num--"var中要删除的变量个数。void remove(IloIntVar[] var) 抛出IloException
IloLinearIntExpr表达式中移除一组变量。 调用线性表达式时,"var[0], ..., var[num-1]中包含变量的所有项(其中 "num是数组 "var的长度)都会从调用的 "IloLinearIntExpr对象中删除。 如果变量 "var在调用 "IloLinearIntExpr时出现多次,则会删除所有出现的变量。 IloLinearIntExpr.Iterator可用于删除单个术语,而不考虑重复。IloExceptionvar- 要删除的变量数组。IloLinearIntExprIterator linearIterator()
IloLinearIntExpr表达式中变量的迭代器。 迭代器允许调用者枚举 "IloLinearIntExpr中的所有术语,并执行简单的操作,如查询或修改术语。 迭代器还允许调用者在迭代过程中以定义明确的语义从底层 "IloLinearIntExpr中删除元素。