我一直无法将这个问题匹配到一些规范的问题,我想要一些指南来构建/使用算法并解决它。描述如下:建模组合优化?问题
我们有一些人想要早餐。每个人都可以订购任意数量的咖啡,果汁和吐司。我们积累了所有组的订单。
InitialOrder = { C1, J1, T1 } with C1, J1, T1 being integer non-negative numbers.
每个组件都有一个给定的价格,因此初始顺序的总价格是
InitialPrice = C1 * Pc + J1 * Pj + T1 * Pt with Pc, Pj, Pt being rational positive numbers
咖啡馆也具有“早餐菜单”包括在标准项目组合
full breakfast = coffee + juice + toast normal breakfast = coffee + toast bread breakfast = 2 toast
选择这些菜单比单独选择每个组件便宜,所以我们ve
Pf < Pc + Pj + Pt Pn < Pc + Pt Pb < 2 * Pt with Pf, Pn, Pb being rational positive numbers
人们希望将初始订单分组到菜单中以最小化花费总额。然后
FinalOrder = { C2, J2, T2, F, N, B } with C2, J2, T2, F, N, B integer non-negative numbers
,我们将有一个FinalPrice < = InitialPrice作为
FinalPrice = C2 * Pc + J2 * Pj + T2 * Pt + F * Pf + N * Pn + B * Pb with Pc, Pj, Pt, Pf, Pn, Pb as rational positive numbers
所有价格(PC,PJ,PT,PF Pn和铅)是预先知道。
请问,你知道我应该遵循哪种方法来构建一个算法,以最小化给定的InitialOrder的FinalPrice?随时问任何你需要的更多细节。
预先感谢您。
对不起,如果我错了,但我认为六个最终变量不是独立的(菜单由项目组成)。是否可以将此限制建模为LIP? – fglez 2010-08-10 18:30:47
@antispam:是的,这些都是我说的约束。我将编辑答案使其更加清晰。 – 2010-08-10 18:34:32
我会尝试按照这个方向,并用我的发现更新问题。谢谢! – fglez 2010-08-10 18:43:44