ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] VBA凑数求助(多元一次方程求解)

[复制链接]

TA的精华主题

TA的得分主题

发表于 2019-7-8 13:56 | 显示全部楼层 |阅读模式
VBA凑数(多元一次方程求解)                                                                                                                               
序号        零件名称        牌号        每架件数        零件规格(**)                                        进料长度        修整端头        可制件数        余料尺寸        再制尺寸        余料尺寸        利用率        备注
                                                                                                                        %       
1        1        51CrV4        1        15        *        90        *        1728        6000        30        3         786         610        176         96.6         5
2        2        51CrV4        1        15        *        90        *        1728        6000        30        3         786         760        26         99.1         6

问题:相同规格材料的进料长度一致的前提下,利用长度拼凑后,使得不能利用的材料≤2%(若有个别零件大于2%,不允许超过3%)                                                                                                                       
限制:①可以修改进料长度,但相同规格材料的进料长度一致,且长度在5500-6500之间取50的整数,例如6050                                                                                                                       
②可以修改端头30,只要满足0<端头<60即可                                                                                                                       

                                                                                                                       
例如,进料规格是15*90*6000,加工第1(长度为1728),为了保证利用率,余料尺寸+修整端头≤6000*2%(120)                                                                                                                       
        方案1:余料尺寸+修整端头=进料长度-已利用长度=6000(进料)-1728(1片长)*3-610(5片长)=206   因为>120,所以方案1×                                                                                                               
        方案2:余料尺寸+修整端头=进料长度-已利用长度=6000(进料)-3*1728(1片长)-2*380(5片长)=56   因为<120,所以方案2                                                                                                               
                                                                                                                       


求大神用VBA优化凑数(对每行都进行规划求解貌似实现不了),能自动求出当满足废料率2%时的进料长度和再制件长度       

00000.jpg

问题.rar

13.23 KB, 下载次数: 15

TA的精华主题

TA的得分主题

发表于 2019-7-8 14:44 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
+2*380+3*1728
+1*380+1*610+1*1470+2*1728
+2*610+1*1320+2*1728
+3*380+1*1320+2*1728
+4*610+2*1728
+5*380+1*610+2*1728
+1*1320+2*1470+1*1728
+2*610+2*1470+1*1728
+2*380+1*610+1*1320+1*1470+1*1728
+4*380+2*610+1*1470+1*1728
+1*380+2*610+2*1320+1*1728
+4*380+2*1320+1*1728
+6*380+1*610+1*1320+1*1728
+7*610+1*1728
+3*380+5*610+1*1728
+8*380+2*610+1*1728
+11*380+1*1728
+4*1470
+4*380+3*1470
+1*380+2*1320+2*1470
+5*610+2*1470
+3*380+3*610+2*1470
+8*380+2*1470
+3*610+2*1320+1*1470
+2*380+4*610+1*1320+1*1470
+5*380+2*610+1*1320+1*1470
+2*380+6*610+1*1470
+7*380+3*610+1*1470
+10*380+1*610+1*1470
+1*610+4*1320
+2*380+2*610+3*1320
+4*380+3*610+2*1320
+7*380+1*610+2*1320
+1*380+7*610+1*1320
+4*380+5*610+1*1320
+9*380+2*610+1*1320
+12*380+1*1320
+6*380+6*610
+14*380+1*610

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-7-8 15:48 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

1楼,能否用VBA解决?下次更换数据后也能用VBA得到结果

TA的精华主题

TA的得分主题

发表于 2019-7-8 15:55 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
精灵火儿 发表于 2019-7-8 15:48
1楼,能否用VBA解决?下次更换数据后也能用VBA得到结果

http://club.excelhome.net/thread-1476120-1-1.html

9楼

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-7-8 19:30 | 显示全部楼层
zopey 发表于 2019-7-8 15:55
http://club.excelhome.net/thread-1476120-1-1.html

9楼

这样不能解决问题啊 你这还不如规划求解呢,我想要满足条件的最优解,是在某零件下料后剩下的余料中再二次利用,且要满足废料率的最优解

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-7-8 19:31 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
zopey 发表于 2019-7-8 15:55
http://club.excelhome.net/thread-1476120-1-1.html

9楼

要不是每行都建立规划求解,容易卡死,也不会到论坛来请教VBA的解决办法啊

TA的精华主题

TA的得分主题

发表于 2019-7-8 21:20 | 显示全部楼层
精灵火儿 发表于 2019-7-8 19:30
这样不能解决问题啊 你这还不如规划求解呢,我想要满足条件的最优解,是在某零件下料后剩下的余料中再二次 ...

2 楼表达式 都是 最优解 , 任选一个就好。

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-7-8 21:48 | 显示全部楼层
zopey 发表于 2019-7-8 21:20
2 楼表达式 都是 最优解 , 任选一个就好。

单独一行求解 我用不着求解,自己凑数就是了  要保证相同规格的若干零件的进料尺寸一样的情况下,保证所有零件的废料率≤2% (加工完零件剩下的废料才用来加工其他长度短的材料)

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-7-8 21:54 | 显示全部楼层
zopey 发表于 2019-7-8 21:20
2 楼表达式 都是 最优解 , 任选一个就好。

就是说加工零件长1728,而进料长度为6000,若干个1728的求和后,剩下的部分用其他数值相加,最终的余数≤2%, 首先2楼的有些解不包含1728,其次我需要的是最优解(余数越小越好)

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-7-10 15:15 | 显示全部楼层
顶一下,有没有想到解决的思路,指点下
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-3-29 04:34 , Processed in 0.056192 second(s), 10 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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