public void MontaQuadro() { if (isNormalizado) { this.QuadroSimplex = new Quadro(this.FObjetiva, this.Restricoes, this.QuantA, this.QuantF); } }
public bool IsUltimoQuadro() { if (duasFases) { if (AcabouDuasFases()) { duasFases = false; TerminaFase(); return(false); } else { return(false); } } else if (!(QuadroAnterior == null)) { if (!(QuadroAnterior.QuadroAnterior == null)) { if (QuadroAnterior.QuadroAnterior.Cabecario != null) { int soma = 0; for (int i = 0; i < this.LinhaZ.Value.Length; i++) { if (Math.Floor(this.LinhaZ.Value[i]) == Math.Floor(QuadroAnterior.QuadroAnterior.LinhaZ.Value[i])) { soma++; } } if (soma == this.LinhaZ.Value.Length) { this.Cabecario = this.QuadroAnterior.Cabecario; this.Linhas = this.QuadroAnterior.Linhas; this.LinhaZ = this.QuadroAnterior.LinhaZ; this.QuadroAnterior = this.QuadroAnterior.QuadroAnterior; return(true); } } } } foreach (double valor in LinhaZ.Value) { if (valor < 0) { QuadroAnterior = new Quadro(this); return(false); } } return(true); }
public Quadro(Quadro quadro) { if (quadro != null) { if (quadro.Cabecario != null) { this.Cabecario = (string[])quadro.Cabecario.Clone(); this.Linhas = new Dictionary <String, double[]>(); foreach (KeyValuePair <String, double[]> entry in quadro.Linhas) { this.Linhas.Add((string)entry.Key.Clone(), (double[])entry.Value.Clone()); } this.LinhaZ = new KeyValuePair <string, double[]>((string)quadro.LinhaZ.Key.Clone(), (double[])quadro.LinhaZ.Value.Clone()); this.QuadroAnterior = new Quadro(quadro.QuadroAnterior); } } }