最优装载问题
问题描述:
有一批集装箱要装上一艘载重量为C的轮船,要求在装载体积不受限制的情况下,将尽可能多的集装箱装上轮船。
算法分析:
采用重量轻者先装的贪心选择策略,可产生最优装载问题的最优解。
?
算法实现:
OptinalLoading.java
?
LContainer.java
//集装箱类public class LContainer implements Comparable{private int id;//编号private double w; //重量private boolean loadFlag = false;//是否装船标识public LContainer(){}public LContainer(double w, int id){this.id = id;this.w = w;}public int compareTo(Object obj){double ww = ((LContainer)obj).getW();if (this.w > ww){return 1;}else if (this.w < ww){return -1;}else{return 0;}}public void setId(int id){this.id = id;}public int getId(){return id;}public void setW(double w){this.w = w;}public double getW(){return w;}public void setLoadFlag(boolean loadFlag){this.loadFlag = loadFlag;}public boolean getLoadFlag(){return loadFlag;}}??
?
?