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 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘