TolGlpk: Interfaz Tol para resolver problemas de programación lineal Los problemas de programación lineal son muy frecuentes en la práctica. El paquete TolGlpk brinda una interfaz para resolver este tipo de problemas desde Tol basado en la biblioteca Glpk. Permite especificar el tipo de las variables: binarias, enteras o continuas; y opcionalmente se puede definir un criterio de parada: el número máximo de iteraciones o el tiempo máximo de ejecución. Supongamos por ejemplo el siguiente problema: maximize: subject to: 3 x_1 + 4 x_2 + 2 x_3 ≤ 60 2 x_1 + 4 x_2 + 3 x_3 2 x_1 + x_1 + 3 x_2 + 2 x_3 ≤ 80 x_2 + 2 x_3 ≤ 40 x_1, x_2, x_3 are non-negative real numbers Su solución a través de TolGplk: #Require TolGlpk; Matrix C = Col(2, 4, 3); Matrix A = Col(3, 2, 1) | Col(4, 1, 3) | Col(2, 2, 2); Matrix L = Constant(3, 1, -Inf); Matrix U = Col(60, 40, 80); Matrix Lx = Constant(3, 1, 0); Matrix Ux = Constant(3, 1, Inf); Set Options = [[ Real Maximize = 1; Real maxSec = 30*60 ]]; Set result = TolGlpk::solveLP(C, A, L, U, Lx, Ux, Options); Para una formulación general de un problema de programación lineal: z = Ct*Xs, sujeto a las restricciones: Xa=A*Xs, L≤Xa≤U, Lx≤Xs≤Ux; donde z es la función objetivo, C es el vector de costos, Xs son las variables estructurales (Matriz mx1), Xa son las variables auxiliares (Matriz nx1), L y U son las cotas inferiores y superiores (si existen) de las variables auxiliares, Lx y Ux son las cotas inferiores y superiores (si existen) de las variables estructurales y A es la matriz de restricciones (matriz mxn). Su solución por medio de TolGlpk: Set result = TolGlpk::solveLP(C, A, L, U, Lx, Ux, Options);