ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 11680|回复: 32

[求助] 优化组合

[复制链接]

TA的精华主题

TA的得分主题

发表于 2014-10-20 16:06 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 lm1221 于 2014-10-20 16:22 编辑

首先感谢老师的关注!!
以下求助的主题与香川老师的“整料分割方案”有相似之处。也看过老师的代码,只是本人愚钝,无法参透。
在原材料长度确定的情况下,求下料的最优组合(余料最少为最优),并计算使用原材料的根数。
尾数取整为四舍五入的基点数,B~D列如果为乱序,请先排序
附件中已经给出最优方案的示例,B~D列为原始数据,I列后为优化后的数据
说明下,附件中的示例数据只有几行,即便是实际使用中也应该在1000行之内,估计再多计算机也受不了!


优化组合.rar

28.67 KB, 下载次数: 486

TA的精华主题

TA的得分主题

发表于 2014-10-20 20:02 | 显示全部楼层
此帖是香川老师的强项,也只有香川这样的侠士才能胜任,顶帖!!!

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2014-10-20 20:14 | 显示全部楼层
  建议您结合您的附件中给出的数据把您的相关专业要求再具体描述一下,对于不同的陌生的专业,往往令人更显外行……
  主要逻辑是:
  现有条件是什么?
  期望达到什么样的效果?
  达到的设想路径是什么(这个是您的对于解决问题策略的理解,那怕是原始的方法,也能帮助人们更好地理解问题)

  ……
  也可能是我更为愚钝,我也有点参不透您的附件要求,这方面的还没接触过……以前多是些瞎折腾……

TA的精华主题

TA的得分主题

发表于 2014-10-20 20:17 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
  您的附件的截图:
   456.jpg
  不明白您的下料的要求是什么?如何下料?矛盾点在什么地方?或者说是要在什么地方寻优?

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-10-20 21:16 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 lm1221 于 2014-10-20 22:00 编辑

写了好久,结果没发出去,唉!郁闷
重新说下吧!假定原材料为9m的(其实95%情况下钢筋的原料也只有9m与12m两种)
例如需要下2根6m、2根3m的料,那就用2根9m的原材料先下2根6m的,剩余2根3m的刚好合适,没有余料
例如需要下2根5m、2根1m的料,那就用2根9m的原材料先下2根5m的,用剩余2根2m中的其中1根下2根1m的,余料为1根2m的
再例如需要下2根6m、4根7.2m、3根1.8m、3根1m的料,那就用1根9m的断1根6m的再断3根1m的,接着用3根9m的断3根7.2m的剩余3根1.8m的(刚好3.8m的已经满足下料根断),最后还差1根7.2m的只能用原材料9m的断剩余1根1.8m的余料,还差1根6m的也只能用原材料9m的断剩余1根3m的余料,具体优化后的组合见下楼

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-10-20 21:18 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
C:\Users\jing1221\Desktop
QQ截图20141020210050.png

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-10-20 21:49 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 lm1221 于 2014-10-20 21:56 编辑

我语言表达能力不行,说句最直白的,从经济利益来说吧!
假如我有很多根定尺的原材料,只要是没破坏原材料的长度就可以出售,但是如果你将其中的任何1根断掉一点,那么那根就只能卖废铁了(原材料4元/Kg,废铁1.6元/Kg)
还是假定原材料的长度为9m,现在我自己需要4根1m的,1根5m的,那么
方案1:用1根原材料先断1根5m的,剩余1根4m的断4根1m的就可以了,只需要1根原材料,没有余料
方案2:用4根原材料先断4根1m,再用1根原材料断1根5m的,现在需要5根原材料,余料为4根8m的,1根4m的
方案3:用4根原材料先断4根1m,然后用剩余8m余料中的1根再断1根5m的,现在需要4根原材料,余料为3根8m的,1根3m的
。。。。。。
当然方案1为最优方案(因为它余料最少,余料最少也就意味着所用原材料最少,最经济)



TA的精华主题

TA的得分主题

发表于 2014-10-20 22:03 | 显示全部楼层
此帖问题好,高手们替楼主多想想办法,算是为“解放生产力,发展生产力”做一份贡献!!!感觉这个问题不解决,似乎有损EH的光辉形象……呵呵!!!

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2014-10-20 22:11 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
lm1221 发表于 2014-10-20 21:49
我语言表达能力不行,说句最直白的,从经济利益来说吧!
假如我有很多根定尺的原材料,只要是没破坏原材料 ...

那我先胡说一些判断的标准了:
撇过您的最佳方案1,是不是可以说方案3比方案2较优呢?
此比较判断不考虑今后实际用料中的事先不可预知的“凑巧”,是否可得出进一步的择优标准:
1.产生余料根数最少;
2.产生余料长度最小。

至于以上二条是否正确,以及是否有优先次序考虑,我也一时拿不准……

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-10-20 22:26 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 lm1221 于 2014-10-20 22:29 编辑
aoe1981 发表于 2014-10-20 22:11
那我先胡说一些判断的标准了:
撇过您的最佳方案1,是不是可以说方案3比方案2较优呢?
此比较判断不考虑 ...

首先感谢考虑周全,的确存在这个问题
不过这个世界上貌似没有万全的施工方案,实际施工中大多会考虑以余料为6m或3m以备下次断料好用(因为钢筋翻样的习惯会用这样的材料起头)
但本贴无法顾及那么周全,以用原材料根数最少为最优方案
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-4-27 06:45 , Processed in 0.046972 second(s), 15 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表