我有一个优化问题,我试图将其转换为线性程序。但是,我有一个形式的目标函数
我尝试使用替换变量进行经典的线性重构并添加约束:
我遇到的问题是解决方案似乎将限制为正值,即使它们显然应该是负值。查看我对此的文档,这似乎是因为假设它的所有值都将在同一方向上最大化或最小化,如果你打破这个假设,那么你将被迫使用 M/ILP 方法用二进制确定器来解决这个问题。
我没有找到任何关于在目标函数和是否可以在不诉诸 ILP 的情况下做我想做的事?
我有一个优化问题,我试图将其转换为线性程序。但是,我有一个形式的目标函数
我尝试使用替换变量进行经典的线性重构并添加约束:
我遇到的问题是解决方案似乎将限制为正值,即使它们显然应该是负值。查看我对此的文档,这似乎是因为假设它的所有值都将在同一方向上最大化或最小化,如果你打破这个假设,那么你将被迫使用 M/ILP 方法用二进制确定器来解决这个问题。
我没有找到任何关于在目标函数和是否可以在不诉诸 ILP 的情况下做我想做的事?
您可以将原始问题分成两个线性规划问题,第一个具有目标 和(附加)约束,第二个具有目标和(附加)约束。然后,您将选择两个解决方案中最好的一个作为原始问题的解决方案。
将变量分成正负分量似乎对我们有用。我将包括我的解决方案,尽管解决方案的范围可能存在限制。
基本上,对于每个变量,我们将变量一分为二:和. 然后我们添加了约束:
和
然后,我们能够将系数的价值函数分别应用于每个部分。例如,
随着变量的最终解决方案存在:
在我们尝试并证明了这一点之后,我们在这里找到了关于该方法的讨论。