动态规划之线性动规钢条切割问题

本文介绍了线性动规在解决钢条切割问题中的应用,探讨如何通过动态规划优化递归效率,以实现最大化销售收益。通过建立动规表达式并采用带备忘录的自上而下求解方法,有效减少了重复子问题的计算,提高了算法效率。
摘要由CSDN通过智能技术生成

问题描述

线性规划是一类问题。目标函数为特定变量的线性函数,约束是这些变量的线性不等式(standard form)或等式(slack form),目的是求目标函数的最大值或最小值。这类动态规划是平时比较常见的一类动态规划问题。

假设公司出售一段长度为i英寸的钢条的价格为Pi(i = 1, 2, …单位:美元),下面给出了价格表样例:

这里写图片描述
切割钢条的问题是这样的:给定一段长度为n英寸的钢条和一个价格表Pi,求切割方案,使得销售收益Rn最大。
当然,如果长度为n英寸的钢条价格Pn足够大,最优解可能就是完全不需要切割。

解法

我们可以把他分解成两个子问题,然后两个子问题的最优解相加,再比较所有相加的和里选出最优的。每个子问题也可以往下继续分成两个子问题,层层分下去。比如我现在长度为5,那么就可以分成1+4、2+3。1+4里面的4又可以划分子问题,分成1+3、2+2、依此循环下去求出每个子问题的最优解后,与原来本数字的价格比较,谁更大要谁,那么总问题也就解决了
动规表达式:
max[n]=price[n]; (n=0)
max[n]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值