close Warning: Can't synchronize with repository "(default)" (/var/svn/tolp does not appear to be a Subversion repository.). Look in the Trac log for more information.

Changes between Initial Version and Version 1 of OfficialTolArchiveNetworkTolGlpk


Ignore:
Timestamp:
Jun 14, 2012, 2:49:11 PM (13 years ago)
Author:
Jorge
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • OfficialTolArchiveNetworkTolGlpk

    v1 v1  
     1TolGlpk: Interfaz Tol para resolver problemas de programación lineal
     2
     3Los problemas de programación lineal son muy frecuentes en la práctica. El paquete
     4TolGlpk brinda una interfaz para resolver este tipo de problemas desde Tol basado en la
     5biblioteca Glpk. Permite especificar el tipo de las variables: binarias, enteras o continuas; y
     6opcionalmente se puede definir un criterio de parada: el número máximo de iteraciones o el
     7tiempo máximo de ejecución.
     8
     9Supongamos por ejemplo el siguiente problema:
     10
     11maximize:
     12
     13subject to: 3 x_1 + 4 x_2 + 2 x_3 ≤ 60
     14
     152 x_1 + 4 x_2 + 3 x_3
     16
     172 x_1 +
     18
     19x_1 + 3 x_2 + 2 x_3 ≤ 80
     20
     21x_2 + 2 x_3 ≤ 40
     22
     23x_1, x_2, x_3 are non-negative real numbers
     24
     25Su solución a través de TolGplk:
     26
     27#Require TolGlpk;
     28
     29Matrix C = Col(2, 4, 3);
     30
     31Matrix A = Col(3, 2, 1) | Col(4, 1, 3) | Col(2, 2, 2);
     32
     33Matrix L = Constant(3, 1, -Inf);
     34
     35Matrix U = Col(60, 40, 80);
     36
     37Matrix Lx = Constant(3, 1, 0);
     38
     39Matrix Ux = Constant(3, 1, Inf);
     40
     41Set Options = [[ Real Maximize = 1; Real maxSec = 30*60 ]];
     42
     43Set result = TolGlpk::solveLP(C, A, L, U, Lx, Ux, Options);
     44
     45Para una formulación general de un problema de programación lineal:
     46
     47z = Ct*Xs, sujeto a las restricciones: Xa=A*Xs, L≤Xa≤U, Lx≤Xs≤Ux; donde z es la función objetivo,
     48C es el vector de costos, Xs son las variables estructurales (Matriz mx1), Xa son las variables
     49auxiliares (Matriz nx1), L y U son las cotas inferiores y superiores (si existen) de las variables
     50auxiliares, Lx y Ux son las cotas inferiores y superiores (si existen) de las variables estructurales
     51y A es la matriz de restricciones (matriz mxn).
     52
     53Su solución por medio de TolGlpk:
     54
     55Set result = TolGlpk::solveLP(C, A, L, U, Lx, Ux, Options);