分段线性函数的语法
描述用于表示分段线性函数的语法。
要在 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) 的高度。