- 4
- 0
- 约9.04千字
- 约 19页
- 2020-09-08 发布于四川
- 举报
{财务管理收款付款}机付款
超市POS机付款问题
一、问题描述
超市付款问题
超市的自动柜员机(POS机)要找给顾客数量最少的现金。请设计算法解决这种付款优化问题。
(提示:试写出用动态规划、贪心法等算法策略来解决该问题,找出多个付款方案、并分析程序运行结果和给出算法的复杂性分析。)
二、问题分析
超市的自动柜员机(POS机)要找给顾客数量最少的现金。例如要找4元6角,如果POS机送出一大堆硬币,比如46个1角钱,就太麻烦了,而最好找2个2元、1个5角和1个1角的。
动态规划:
假定POS机中有n张面值为的货币,用集合表示,如POS机需支付的现金为A,那么,它必须从P中选取一个最小子集S,使得
(1)
如果用向量表示S中所选取的货币,则
(2)
那么,POS机支付的现金必须满足
(3)
并且
(4)
在上述问题中集合P是该问题的输入,满足式(1)和解称为可行解,式(2)是解的表现形式,因为向量X中有n个元素,每个元素的取值为0或1,所以,可以有个不同的向量,所有这些向量的全体构成该问题的解空间,式(3)是该问题的约束条件,式(4)是该问题的目标函数,使式(4)取得极小值的解称为该问题的最优解。
对POS机付款问题:
(1)count[i]表示凑合数量为i所需最少的钱币数量,即最优值。
(2)则count[i]=min{count[i-T[j]]+1}(原问题分段)。
(
原创力文档

文档评论(0)