【发布时间】:2016-03-19 22:30:57
【问题描述】:
假设我有两个目标。我想非常接近地实现这个目标:
i=1) profit goal: 12???? + 9y ≥ 125
i=2) cost-goal: 5???? + 7y ≤ 50
在文献中,您可以通过插入代表偏差的变量来进行目标规划。假设变量 ai 是高于目标值与目标 I 的偏差,而 bi 是低于目标值与目标 I 的偏差。您会得到以下约束:
12???? + 9y -a1 + b1 = 125
5???? + 7y -a2 + b2 = 50
在最后一步中,您创建目标函数,您可以在其中对每个偏差使用惩罚因子 (p) 来惩罚偏差。
minimize: pd1*b1 + pa1*a1 + pd2*b2 + pa2*a2
我正在使用 Cplex API,我看到您可以使用 Cplex-Goals:
IloCplex.Goal
现在我有以下问题:
是否有可能使用 Cplex API 以方便的方式解决此问题,还是我必须自己实现此过程?
如果可能,我如何获得最终的目标值:12???? + 9y 和 5???? + 7 岁?
【问题讨论】:
-
Cplex 目标用于控制分支,与目标编程无关。
标签: java optimization linear-programming cplex