优化类似于背包

时间:2013-03-27 00:08:19

标签: algorithm mathematical-optimization

我正在尝试找到解决优化问题的方法,如下所示: 我有22个不同的对象,可以多次选择。我有一个评估函数f,它接受​​多重性并计算总值。

f是线性(仿射)术语的分数产品,因此在允许的区域内可微分甚至平滑。

我想针对22个变量优化f,其中附加条件是某些和可能不超过某些值(例如,如果a,...,v是我的变量,a + e + i + m + q + s <= 9)。这样,所有变量都是有界的。

如果f严格单调,这可以通过(最小修改的)背包解决方案最佳地解决。但是,功能不凸。这意味着甚至不可能假设如果在空背包上拍摄物体A优于B,即使添加第三个物体C,这个选择仍然存在(因为C可以修改B的优点比A更好) )。这意味着不能使用贪心算法;

是否有类似的算法以最佳(或至少,接近最佳)的方式解决这样的问题?

编辑:根据要求,问题是一个例子(为简单起见,我选择了5个变量a,b,c,d,e) 例如,

f(a,b,c,d,e) = e*(a*0.45+b*1.2-1)/(c+d)

(每个变量只出现一次,如果这有帮助的话) 另外,例如,a+b+c=4d+e=3

问题是针对a,b,c,d,e优化整数。有一堆优化算法适用于凸函数,但很少用于非凸...

0 个答案:

没有答案