📄 dictionary.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 += " " + 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 + -