sinat_38913556 2018-03-27 07:17 采纳率: 0%
浏览 845
已采纳

一个算法该如何实现呢

需要生产3种型号的部品(A,B,C),这三种型号的长度为A=562.6mm,B=362.6mm,C=237.6mm,不考虑刀的损失长度。一根材料长度为2743mm。
要生产A180个,B217个,C220个,怎么切,最终使用的材料根数最少。最少为多少根?

比如:方案1,A1个,B4个,C3个,切53根;
方案2,A4个,B0个,C2个,切28根
方案3,A3个,B1个,C1个,切5根;
合计86根。

如何设计这个算法呢

  • 写回答

5条回答 默认 最新

  • qq_30866867 2018-03-27 08:36
    关注

    暴力破解ok吗?

    1.获取边界值 (180*562.6 + 362.6*217 + 237.6*220) / 2743 向上取整.得到边界个数MIN,MAX.
    2.列举出所有的有效方案(保证不浪费材料的前提),如上.有M个方案
    3.设置M个变量i,j,k....,代表不同方案的根数.且根数总和 >= MIN
    4.嵌套循环,最外层控制总根数N, 每次循环总根数N++.
    5.里层循环对应的总根数要等于N, 直至找到满足A,B,C个数>= 180,217,220为止最小的根数,跳出循环. 有问题请指正,谢谢!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器
  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
  • ¥15 Vue3地图和异步函数使用
  • ¥15 C++ yoloV5改写遇到的问题
  • ¥20 win11修改中文用户名路径
  • ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
  • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
  • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
  • ¥15 帮我写一个c++工程