Introducedilhaão a simplex
==========================

simplex é um pacote para otimizacedilhaão linear usando o algorítmo simplex.

Exemplo:

     (%i1) load("simplex")$
     (%i2) minimize_sx(x+y, [3*x+2*y>2, x+4*y>3]);
                       9        7       1
     (%o2)            [--, [y = --, x = -]]
                       10       10      5

Funcedilhaões e Variáveis Definidas para simplex
================================================

 -- Variável de opcedilhaão: epsilon_sx
     Valor padrão: 10^-8

     Epsilon usando para cálculos numéricos em linear_program.

     Veja também: linear_program.

 -- Funcedilhaão: linear_program (A, B, C)

     linear_program é uma implementacedilhaão do algorítmo simplex. linear_program(A, b, c) calcula um vetor X para o qual c.x é o mínimo possível entre vetores para os quais A.x = b e x >= 0. O argumento A é uma matriz e os argumentos B e C são listas.

     linear_program retorna uma lista contendo o vetor minimizado X e o valor mínimo c.x. Se o problema for não associado, é retornado "Problem not bounded!" e se o problema for não viável, é retornado "Problem not feasible!".

     Para usar essa funcedilhaão primeiramente chame o pacote simplex com load(simplex);.

     Exemplo:

          (%i2) A: matrix([1,1,-1,0], [2,-3,0,-1], [4,-5,0,0])$
          (%i3) b: [1,1,6]$
          (%i4) c: [1,-2,0,0]$
          (%i5) linear_program(A, b, c);
                             13     19        3
          (%o5)            [[--, 4, --, 0], - -]
                             2      2         2

     Veja também: minimize_sx, scale_sx, e epsilon_sx.

 -- Funcedilhaão: maximize_sx (OBJ, COND, [POS])

     Maximiza a funcedilhaão linear objetiva OBJ submetida a alguma restricedilhaão linear COND. Veja minimize_sx para uma descricedilhaão detalhada de argumentos e valores de retorno.

     Veja também: minimize_sx.

 -- Funcedilhaão: minimize_sx (OBJ, COND, [POS])

     Minimiza uma funcedilhaão linear objetiva OBJ submetida a alguma restricedilhaão linear COND. COND é uma lista de equacedilhaões lineares ou desigualdades. Em desigualdades estritas > é  substituido por >= e < por <=. O argumento opcional POS é uma lista de variáveis de decisão que são assumidas como sendo positivas.

     Se o mínimo existir, minimize_sx retorna uma lista que contém o menor valor da funcedilhaão objetiva e uma lista de valores de variáveis de decisão para os quais o mínimo é alcancedilhaado. Se o problema for não associado, minimize_sx retorna "Problem not bounded!" e se o problema for não viável, é retornado "Ploblem not feasible!".

     As variáveis de decisão não são assumidas para serem não negativas por padrão. Se todas as variáveis de dicisão forem não negativas, escolha nonegative_sx para true. Se somente algumas das variáveis de decisão forem positivas, coloque-as então no argumento opcional POS (note que isso é mais eficiente que adicionar restricedilhaões).

     minimize_sx utiliza o algorítmo simplex que é implementado na funcedilhaão linear_program do Maxima.

     Para usar essa funcedilhaão primeiramente chame o pacote simplex com load(simplex);.

     Exemplos:

          (%i1) minimize_sx(x+y, [3*x+y=0, x+2*y>2]);
                                4       6        2
          (%o1)                [-, [y = -, x = - -]]
                                5       5        5
          (%i2) minimize_sx(x+y, [3*x+y>0, x+2*y>2]), nonegative_sx=true;
          (%o2)                [1, [y = 1, x = 0]]
          (%i3) minimize_sx(x+y, [3*x+y=0, x+2*y>2]), nonegative_sx=true;
          (%o3)                Problem not feasible!
          (%i4) minimize_sx(x+y, [3*x+y>0]);
          (%o4)                Problem not bounded!

     Veja também: maximize_sx, nonegative_sx, epsilon_sx.

 -- Variável de opcedilhaão: nonegative_sx
     Valor padrão: false

     Se nonegative_sx for verdadeiro (true) todas as variáveis de decisão para minimize_sx e maximize_sx são assumidas para serem positivas.

     Veja também: minimize_sx.