搜索
APP
起点课堂会员权益
1000+专题课程
50G学习资料包
专项技能课程
全年48场直播
会员专属社群
产品经理大会
荣耀标识
特权持续新增中
发布
登录 | 注册
数据分析
数据过滤
2B电商

怎样设计一个算法来解决这个装货问题?

给定若干小长方体(编号123...)的长宽高和质量,给定若干大长方体(编号ABC...)的长宽高和质量,如何遵从以下原则,尽可能将更多的小长方体放进大长方体中:1、两个小长方体之间不可有间隙,小长方体和大长方体之间尽量无间隙;2、上面的小长方体质量要比下面的轻;3、大长方体内所有小长方体的质量之和不可超过该大长方体的质量。从里到外、从下到上、从左到右告知哪些小长方体放进哪个大长方体;告知最终无法放

展开

John最近

  • Gavin

    产品经理

    设计一个算法来解决这个装货问题是一个复杂的任务,因为它属于三维装箱问题(3D Bin Packing Problem)的一个变种,这是一个著名的NP-hard问题。不过可以使用启发式方法(heuristics)来找到一个近似解。

    下面是一个启发式算法的概要:

    1. 初始化:

      • 对所有小长方体按质量进行排序(可选,以便更容易满足条件2)。

      • 创建一个空的列表来跟踪哪些小长方体被放入了哪个大长方体。

      • 创建一个空的列表来跟踪未放入任何大长方体的小长方体。

    2. 定义评估函数:

      • 评估函数用于比较不同放置方案的好坏。这可能包括剩余空间、小长方体之间的间隙、质量分布等。

    3. 尝试放置:

      • 遍历每个大长方体,并尝试在其中放置小长方体。

      • 对于每个大长方体,使用一种空间填充算法(如“最佳适应递减”(Best Fit Decreasing)或“首次适应递减”(First Fit Decreasing))来放置小长方体。

      • 在放置时,确保小长方体之间没有间隙(或间隙最小),并且上面的质量比下面的轻(如果可能的话)。

      • 如果放置后总质量超过了大长方体的质量限制,则回溯并尝试其他放置方案。

    4. 优化:

      • 在放置小长方体后,使用局部搜索或元启发式方法(如模拟退火、遗传算法等)来优化解。

      • 例如,可以尝试交换小长方体的位置以减小间隙或改善质量分布。

    5. 记录结果:

      • 对于每个成功放置的小长方体,记录它所属的大长方体以及在大长方体中的位置。

      • 对于无法放入任何大长方体的小长方体,将其添加到未放置列表中。

    6. 输出:

      • 输出所有小长方体的放置结果,包括它们所属的大长方体和在大长方体中的位置。

      • 输出未放置的小长方体列表。

    7. (可选)迭代改进:

      • 如果需要进一步提高解的质量,可以迭代地运行算法,每次从未放置的小长方体中选取一些并尝试重新放置它们。

    这个算法是一个启发式方法,并不能保证找到最优解。但是它可以在合理的时间内找到一个接近最优的解,并且满足你的所有条件。


    2赞同
    收藏 回复 分享

    微信扫码分享给好友

    or

    复制页面链接

    最近
发布回答,请先 登录 / 注册
最佳悬赏红包 玩法>
香蕉镜子鱼骨头 回答最佳,已获得 ¥28.0 红包
关于答主

Gavin

产品经理

0

提问

9

回答

3

粉丝

  • 干货文章
    优质课程
  • 行业大会
    线下沙龙
  • 热门问答
    精品专场

扫码即可下载app

问题还没有标签

给问题加标签后,可根据标签推荐更专业的用户来回答

邀请回答

想要更快获得答案?试试邀请回答吧~ 今日已邀请0/5

omom

祝书房

高级产品经理 | 公众号:祝书房

荔湾

LAUGH OFF

成长中的PM

汪仔4201

客户就是上帝

产品星际研究员

三无产品

射鸡大湿

CHLOE

海上绿川

独行侠

爱意随风起,风止意难平

老鬼

一个十四年互联网的无聊的人

kven

Mark-ZXL

不会做饭的健身教练不是一个好的设计师

煎饼GeGe

深圳智眸科技产品经理

请叫我宸锅锅

集才华与颜值一块的宸锅锅

董小白

易恒

以无厚,入有间

月小五

汪仔0353

产品小白

Way

某国民办公软件产品人,多年SaaS、数字营销、商业化经验,公众号:产品之way

骁雏孑孑

芭乐

科技之歌

和光同尘

数据改变人类的决策方式,自身能力和环境!

小仙儿

快乐的产品,汪汪汪

产品经理

sunshine

青丝青衫亦青城

今天不想写

圶小雷

运营

Picking

Demi

专业背锅侠

Marketing

x

1、最佳悬赏红包怎么玩?

最佳悬赏问答会从所有回答者中选出“最佳回答”,对应回答者将能获得该问题的全部红包,具体流程如下:
1,悬赏问答发出后,所有人均可通过回答参与互动
2,提问者将在问题收到规定的回答量后,开始评选出“最佳回答”
3,答案被评选为“最佳回答”的参与者,将能在app中领取到对应奖励红包
PS:若提问者超过3日内未评选出最佳回答,系统将直接评选

2、怎么领取最佳悬赏红包?

当你的答案被评为“最佳回答”,系统将会通过push、短信等形式通知到你,此时你可进入app(首页或对应问题详情页)领取红包,领取后现金将转入你的钱包中,可自行前往提现。
若进入问题详情页后没找到红包领取按钮,可确认是否已领取过,或者是登录的账号是否正确。

3、如何发布最佳悬赏问答?

通过“产品经理”app,进入问答tab,发布提问时选择付费方案即可

4、违规操作会受到什么处罚?

以下操作均属于违规操作:
1,恶意提交与问题无关的回答;
2,提交违规答案,如营销广告、人身攻击、色情、涉及政治及侵犯他人合法权益的内容等;
所有违规操作将会视情节严重程度,进行内容删除、拉黑、禁止提现等

内容举报

请慎重选择举报原因

微信扫码即可分享

确认删除

删除后将不会展示在回答列表中

你所查看的回答已被删除

你所查看的回复已被删除

沉底问题

沉底后问题将从推荐列表中移除,此为
智囊团成员特殊权限,请谨慎使用

温馨提示

问题已沉底
用户将无法在列表查看到该问题

温馨提示

沉底操作已达上限,建议联系天天问管理员
处理违规内容

操作失败

请重新尝试

©2016-2024 - 深圳聚力创想信息科技有限公司 - 粤ICP备14037330号  粤公网安备 44030502002255号

广播电视节目制作经营许可证(粤)字第03109号  增值电信业务经营许可证粤B2-20190788  版权所有 © 深圳聚力创想信息科技有限公司