| 概述 | 组 | 树 | 图形 | 不推荐 | 索引 | 概念 |
该类的一个实例代表 Concert Technology 模型中的一个受约束半连续变量。 半连续变量源于数值变量类 "IloNumVar。
半连续变量可以是 0(零),也可以在半连续变量的下限和上限所定义的区间内取值。 按照惯例,半连续变量被定义为浮点变量,但您可以通过使用从 "IloNumVar继承的类型规范,将 "IloSemiContVar实例指定为整数变量。 在这种情况下,Concert Technology 将为您对半连续变量施加积分约束,从而进一步将可行值集限制为 0(零)和半连续下界和上界定义的区间内的整数值。 半连续下限 (sclb) 必须大于或等于 0(零)。 尝试对半连续下限 (sclb) 使用负值将导致该界限被视为 0(零)。
setUB、"setLB"、"setBounds)为整数变量("IloIntVar或 "IloNumVar和 "Type = Int的实例)赋予了数字边界,它们将被内舍入为整数值。 LB四舍五入,"UB四舍五入。在 "IloNumVar实例中,"lb表示变量的下限,"ub表示变量的上限。 在派生类 "IloSemiContVar的实例中,"sclb表示半连续下界。
从形式上看,如果 "lb <= 0,那么半连续变量就是可行集为 "{0, [sclb,
ub]}的数值变量,其中 "0 < sclb < ub";否则,对于 "lb的其他值,半连续变量的可行集就是区间 "[lb, ub]与集合 "{0, [sclb, ub]}的交集。 半连续下界'sclb可能与普通数值变量的下界不同,因为半连续变量仅限于半连续区域。 例如,下表显示了半连续变量的边界和相应的可行区域。
半连续变量边界及其可行区域举例
| 这些条件 | 确定这些可行区域 |
|---|---|
lb == ub < sclb | 如果是 "lb==ub==0,则为 "{0};如果是 "lb==ub!=0,则为空集 |
lb <= 0 < sclb < ub | {0, [sclb, ub]} |
0 < lb < sclb < ub | [sclb, ub] |
0 < sclb < lb < ub | [lb, ub] |
该类中的大多数成员函数都包含 "assert语句。 有关宏 "NDEBUG(打开或关闭这些 "assert语句的方法)的解释,请参阅Assert 和 NDEBUG 概念。
另请参阅:
| 方法概要 | |
|---|---|
public IloSemiContVarI * | getImpl() const |
public IloNum | getSemiContLB() const |
public | IloSemiContVar() |
public | IloSemiContVar(IloSemiContVarI * impl) |
public | IloSemiContVar(const IloEnv env, IloNum sclb, IloNum ub, IloNumVar::Type type=ILOFLOAT, const char * name=0) |
public | IloSemiContVar(const IloAddNumVar & var, IloNum sclb, IloNum ub, IloNumVar::Type type=ILOFLOAT, const char * name=0) |
public void | setSemiContLB(IloNum sclb) const |
从 "IloNumVar继承的方法 |
|---|
getImpl, getLB, getPossibleValues, getType, getUB, IloNumVar, IloNumVar, IloNumVar, IloNumVar, IloNumVar, IloNumVar, IloNumVar, IloNumVar, IloNumVar, setBounds, setLB, setPossibleValues, setUB |
从 "IloNumExprArg继承的方法 |
|---|
getImpl, IloNumExprArg, IloNumExprArg |
| 方法详细信息 |
|---|
该构造函数通过 "sclb(即半连续下界)和 "ub上界创建 "IloSemiContVar实例。 默认情况下,它的类型是浮点型,但也可以使用 "ILOINT指定整型;在这种情况下,Concert Technology 将对变量施加积分约束。 lb的值设置为零。
This constructor creates an instance of IloSemiContVar from the prototype var.
该成员函数返回调用半连续变量的半连续下界(即其 "sclb)。
该成员函数使 "sclb成为调用半连续变量的半连续下界。
setSemiContinuousLb会通知 Concert Technology 算法有关该调用对象的更改。