分段线性函数的语法

描述用于表示分段线性函数的语法。

要在 Concert Technology 中定义分段线性函数,您需要下列要素:

  • 分段线性函数的独立变量;

  • 分段线性函数的断点;

  • 每个分段的斜率(即,两个断点之间的函数增加或减少率);

  • 函数的至少一个点的几何坐标。

换而言之,对于具有 n 个断点的分段线性函数,您需要知道 n+1 个斜率。

通常,分段线性函数的断点指定为一个包含数字值的数组。 例如,图 1中函数 "f(x)的断点是这样指定的:第一个参数 "env指定环境,第二个参数指定考虑的断点个数,其余参数指定断点的 x 坐标:


IloNumArray (env, 3, 4., 5., 7.)

其各个分段的斜率也指示为一个包含数字值的数组。 例如,f(x) 的斜率以这种方式指定,其中第一个自变量同样指定环境,第二个自变量指定给出的斜率数,其余自变量指定各个分段的斜率:


IloNumArray (env, 4, -0.5, 1., -1., 2.)

还必须指定函数 "(x, f(x))中至少一个点的几何坐标,例如 (4, 2)。 然后,在 Concert Technology 中,这些元素将以如下方式在类 IloPiecewiseLinear 的实例中汇总:


IloPiecewiseLinear(x, 
                   IloNumArray(env, 3, 4., 5., 7.), 
                   IloNumArray(env, 4, -0.5, 1., -1., 2.), 
                   4, 2)

另一种指定分段线性函数的方式是给出第一个分段的斜率、两个包含断点的坐标的数组,以及最后一个分段的斜率。 在这种方法中,图 1中的示例 "f(x)看起来是这样的:


IloPiecewiseLinear(x, -0.5, IloNumArray(env, 3, 4., 5., 7.),
                            IloNumArray(env, 3, 2., 3., 1.), 2);
注:

回顾熟悉的以两个维度(x 和 y)表示的直线或分段(笛卡尔表示)可能有助于您理解这些函数的特征。

y = ax + b

其中 a 表示直线或分段的斜率,而 b 表示直线理论上与 y 轴相交点 (0, b) 的高度。