Esempio n. 1
0
 public void MontaQuadro()
 {
     if (isNormalizado)
     {
         this.QuadroSimplex = new Quadro(this.FObjetiva, this.Restricoes, this.QuantA, this.QuantF);
     }
 }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
 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);
         }
     }
 }