⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dictionary.java

📁 This is my implementation for linear programming
💻 JAVA
字号:
/* * To change this template, choose Tools | Templates * and open the template in the editor. */package ro.simplex;import java.util.ArrayList;import ro.utils.Fraction;/** * * @author Doan Chien Thang */public class Dictionary {    private Objective objective;    private ArrayList<VariableConstraint> varConstraints;    public Dictionary() {        this.objective = new Objective();        this.varConstraints = new ArrayList<VariableConstraint>();    }    public Dictionary (Objective objective,            ArrayList<VariableConstraint> varConstraints) {        this.objective = objective;        this.varConstraints = varConstraints;    }        @Override    public String toString() {        String result = "<p><b>Le dictionnaire du problème:</b></p><br />";        result += "<div style=\"background-color:#EDEDED;padding:10;" +                "margin-right:15\">";        if (!this.objective.isAuxiliary())            result += "<b>L'objectif: z = " + objective.getObjectiveValue();        else            result += "<b>L'objectif: v = " + objective.getObjectiveValue();        for (int i = 0; i < objective.getVars().size(); i++) {            if (objective.getCoefs().get(i).isNegative()) {                result += " - ";                if (!objective.getCoefs().get(i).absolute().equals(new Fraction(1)))                     result += objective.getCoefs().get(i).absolute().toString();                result += objective.getVars().get(i).toString();            }            else if (!objective.getCoefs().get(i).equals(new Fraction(0, 1))) {                result += " + ";                if (!objective.getCoefs().get(i).absolute().equals(new Fraction(1)))                     result += objective.getCoefs().get(i).absolute().toString();                result += objective.getVars().get(i).toString();            }        }        result += "</b><br />";        for (int i = 0; i < varConstraints.size(); i++)            result += "&nbsp;&nbsp;&nbsp;&nbsp;" +                    varConstraints.get(i).toString() + "<br />";        return result + "</div>";    }    private VariableConstraint getVarConstraint(Variable inVar) {        for (int i = 0; i < this.varConstraints.size(); i++)            if (this.varConstraints.get(i).getLeftVar().equals(inVar))                return this.varConstraints.get(i);        return null;    }    public Dictionary getNewDictionaryByChangeVariableRoles(Variable inVar,            Variable outVar) {        Objective newObjective = new Objective();        ArrayList<VariableConstraint> newVarConstraints =                 new ArrayList<VariableConstraint>();        VariableConstraint inOutConstraint = this.getVarConstraint(inVar);        for (int i = 0; i < varConstraints.size(); i++)            newVarConstraints.add(varConstraints.get(i).getNewVarConstraint(                    inVar, outVar, inOutConstraint));        newObjective = this.objective.getNewObjective(inVar, outVar,                inOutConstraint);        return new Dictionary(newObjective, newVarConstraints);    }    public ArrayList<VariableConstraint> getVarConstraints() {        return this.varConstraints;    }    public Objective getObjective() {        return this.objective;    }    public void setObjective(Objective objective) {        this.objective = objective;    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -