【发布时间】:2010-08-10 18:10:13
【问题描述】:
我无法将这个问题与某个规范问题相匹配,我想要一些指南来构建/使用算法并解决它。说明如下:
我们有些人想吃早餐。每个人都可以点任意数量的咖啡、果汁和吐司。我们为所有组累积订单。
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
自助餐厅还提供由标准项目组合组成的“早餐菜单”
全套早餐 = 咖啡 + 果汁 + 吐司 普通早餐=咖啡+吐司 面包早餐= 2吐司
选择这些菜单比单独选择每个组件要便宜,所以我们有
Pf人们希望将初始订单分组到菜单中,以最大限度地减少总花费。那么
FinalOrder = { C2, J2, T2, F, N, B } with C2, J2, T2, F, N, B integer non-negative numbers我们会有一个 FinalPrice
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 和 Pb)都是预先知道的。
请问,您知道我应该遵循哪种方法来构建算法以最小化给定 InitialOrder 的 FinalPrice?请随时询问您需要的更多详细信息。
提前谢谢你。
【问题讨论】:
标签: algorithm theory puzzle combinatorics