美文网首页算法讲解
最优装载问题

最优装载问题

作者: 我没有三颗心脏 | 来源:发表于2017-11-28 10:34 被阅读0次

问题描述:

有一批集装箱要装上一艘载重量为c的轮船。其中集装箱i的重量为Wi。最优装载问题要求确定在装载体积不受限制的情况下,将尽可能多的集装箱装上轮船。

问题可以描述为:

式中,变量xi = 0 表示不装入集装箱 i,xxi = 1 表示装入集装箱 i。

刚看到的时候,给我的感觉就像是排好序的背包问题一样,那么问题就变得简单了。

代码实现:

为了不改变原weight数组中的顺序,所以在函数中引入了一个临时变量tempWeight来进行冒泡排序。

private static void load_problem(int[] weight, int c) {
    int number = weight.length;     // 商品数量
    int[] tempWeight = weight;      // 临时数组用于排序
    int currentSpace = c;           // 剩余空间

    // 冒泡排序:从小到大排序
    for (int i = 0; i < number; i++) {
        for (int j = i + 1; j < number; j++) {
            if (tempWeight[i] > tempWeight[j]) {
                tempWeight[i] = tempWeight[i] + tempWeight[j];
                tempWeight[j] = tempWeight[i] - tempWeight[j];
                tempWeight[i] = tempWeight[i] - tempWeight[j];
            }
        }   // end inner for
    }   // end outer for

    System.out.println("装载物品如下:");
    // 贪心选择装载
    for (int i = 0; i < number; i++) {
        if (tempWeight[i] > currentSpace) break;

        currentSpace -= tempWeight[i];
        System.out.printf("重量为:%2d\n", tempWeight[i]);
    }
}

欢迎转载,转载请注明出处!
简书ID:@我没有三颗心脏
github:wmyskxz
欢迎关注公众微信号:wmyskxz_javaweb
分享自己的Java Web学习之路以及各种Java学习资料

相关文章

  • 最优装载问题

    问题描述: 有一批集装箱要装上一艘载重量为c的轮船。其中集装箱i的重量为Wi。最优装载问题要求确定在装载体积不受限...

  • 贪心算法

    1.适用条件 组合优化问题多步判断求解有贪心选择性质 2.典型问题 活动选择问题装载问题最小延迟调度最优前缀码最小...

  • 算法竞赛入门经典(第二版),贪心法

    贪心 背包相关问题: 最优装载问题: 给出n个物体,第i个问题的重量为wi。选择尽量多的物体,使得总重量不超过C。...

  • 算法:动态规划

    性质:用于求解最优化问题。最优子结构:当前问题的最优解包含子问题的最优解。重叠子问题:再求取当前最优解的过程中,存...

  • 五大基本算法——动态规划算法

    一、基本要素 1、最优子结构性质 大问题的最优解包含了小问题的最优解,小问题的最优解又可以合并成大问题的最优解。 ...

  • 回溯法之装载问题

    先来看装载问题问题背景描述 装载问题可用动态规划解决,但回溯法有时能取得更好的效果 (1)First ship t...

  • 分支界限法(BFS)

    应用场景 分支限界法的求解目标是找出满足约束条件的一个解,或是在满足约束条件的解中找出的在某种意义下的最优解。 装载问题

  • 思想 / 贪心算法

    适用贪心算法的场合 问题能够分解成子问题来解决,子问题的最优解能递推到最终问题的最优解。这种子问题最优解被称为最优...

  • 动态规划

    动态规划特性 重叠子问题子问题可能被多次用到,多次计算 最优子结构最优子结构性质是指问题的最优解包含其子问题的最优...

  • LeetCode笔记--动态规划

    动态规划 最优子结构:问题的最优解由相关子问题的最优解组合而成,而这些子问题可以独立求解。即一个问题的最优解包含其...

网友评论

    本文标题:最优装载问题

    本文链接:https://www.haomeiwen.com/subject/vvnqbxtx.html