[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
65.1 Introducción a simplex | ||
65.2 Definiciones para simplex |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
El paquete simplex
utiliza el algoritmo simplex para programación lineal.
Ejemplo:
(%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 |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Valor por defecto: 10^-8
Error epsilon utilizado en los cálculos numéricos de linear_program
.
Véase también linear_program
.
La función linear_program
es una implementación del algoritmo
simplex. La instrucción linear_program(A, b, c)
calcula un
vector x tal que minimiza c.x
bajo las restricciones A.x = b
y x >= 0
. El argumento A es una matriz y los argumentos b y
c son listas.
La función linear_program
devuelve una lista que contiene el vector
solución x y el valor mínimo de c.x
.
Si el problema no está acotado, devuelve el mensaje "Problem not bounded!"
y si el problema no es factible, devuelve el mensaje "Problem not feasible!".
Para usar esta función, cárguese primero el paquete con la
instrucción load(simplex);
.
Ejemplo:
(%i1) A: matrix([1,1,-1,0], [2,-3,0,-1], [4,-5,0,0])$ (%i2) b: [1,1,6]$ (%i3) c: [1,-2,0,0]$ (%i4) linear_program(A, b, c); [ 1 1 - 1 0 ] [ ] (%o4) linear_program([ 2 - 3 0 - 1 ], [1, 1, 6], [ ] [ 4 - 5 0 0 ] [1, - 2, 0, 0]) |
Véanse también minimize_sx
, scale_sx
y epsilon_sx
.
Maximiza la función objetivo lineal obj sujeta a ciertas restricciones
lineales cond. Véase minimize_sx
para una descripción detallada
de los argumentos y de la respuesta dada por esta función.
Minimiza la función objetivo lineal obj sujeta a ciertas restricciones
lineales cond, siendo ésta una lista de ecuaciones o inecuaciones lineales.
En las inecuaciones estrictas se reemplaza >
por >=
y <
por <=
. El argumento opcional pos es una lista de variables de
decisión que se suponen positivas.
Si el mínimo existe, minimize_sx
devuelve una lista que
contiene el valor mínimo de la función objetivo y una lista
de valores para las variables de decisión con los que se alcanza el
mínimo.
Si el problema no está acotado, devuelve el mensaje "Problem not bounded!"
y si el problema no es factible, devuelve el mensaje "Problem not feasible!".
Las variables de decisión no se suponen no negativas. Si todas las
variables de decisión son no negativas, asígnese el valor
true
a la variable nonegative_sx
. Si sólo algunas de las
variables de decisión son positivas, lístense
en el argumento opcional pos, lo cual es más eficiente que
añadir restricciones.
La función minimize_sx
utiliza el algoritmo simplex implementado
en la función linear_program
de Maxima.
Para usar esta función, cárguese primero el paquete con la
instrucción load(simplex);
.
Ejemplos:
(%i1) minimize_sx(x+y, [3*x+y=0, x+2*y>2]); (%o1) minimize_sx(y + x, [y + 3 x = 0, 2 y + x > 2]) (%i2) minimize_sx(x+y, [3*x+y>0, x+2*y>2]), nonegative_sx=true; (%o2) minimize_sx(y + x, [y + 3 x > 0, 2 y + x > 2]) (%i3) minimize_sx(x+y, [3*x+y=0, x+2*y>2]), nonegative_sx=true; (%o3) minimize_sx(y + x, [y + 3 x = 0, 2 y + x > 2]) (%i4) minimize_sx(x+y, [3*x+y>0]); (%o4) minimize_sx(y + x, [y + 3 x > 0]) |
Véanse también maximize_sx
, nonegative_sx
y epsilon_sx
.
Valor por defecto: false
Si nonegative_sx
vale true
todas las variables de decisión
pasadas a minimize_sx
y a maximize_sx
se suponen positivas.
Véase también minimize_sx
.
[ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This document was generated by Robert Dodier on mayo, 2 2007 using texi2html 1.76.