Problema de programación lineal típico
Este ejemplo resuelve el problema de programación lineal típico
Cargue el archivo sc50b.mat, que está disponible cuando ejecuta este ejemplo y contiene las matrices y los vectores A, Aeq, b, beq, f y los límites inferiores lb.
load sc50bEl problema tiene 48 variables, 30 desigualdades y 20 igualdades.
disp(size(A))
30 48
disp(size(Aeq))
20 48
Establezca opciones para utilizar el algoritmo dual-simplex y la visualización iterativa.
options = optimoptions(@linprog,'Algorithm','dual-simplex','Display','iter');
El problema no tiene límite superior, así que establezca ub en [].
ub = [];
Resuelva el problema llamando a linprog.
[x,fval,exitflag,output] = ...
linprog(f,A,b,Aeq,beq,lb,ub,options);Running HiGHS 1.7.1: Copyright (c) 2024 HiGHS under MIT licence terms
Coefficient ranges:
Matrix [3e-01, 3e+00]
Cost [1e+00, 1e+00]
Bound [0e+00, 0e+00]
RHS [3e+02, 3e+02]
Presolving model
37 rows, 37 cols, 93 nonzeros 0s
19 rows, 19 cols, 61 nonzeros 0s
15 rows, 15 cols, 65 nonzeros 0s
15 rows, 15 cols, 65 nonzeros 0s
Presolve : Reductions: rows 15(-35); columns 15(-33); elements 65(-53)
Solving the presolved LP
Using EKK dual simplex solver - serial
Iteration Objective Infeasibilities num(sum)
0 -8.6188168580e-01 Ph1: 10(11.7103); Du: 1(0.861882) 0s
16 -7.0000000000e+01 Pr: 0(0) 0s
Solving the original LP from the solution after postsolve
Model status : Optimal
Simplex iterations: 16
Objective value : -7.0000000000e+01
HiGHS run time : 0.02
Optimal solution found.
Examine el indicador de salida, el valor de la función objetivo en la solución y el número de iteraciones usadas por linprog para resolver el problema.
exitflag,fval,output.iterations
exitflag = 1
fval = -70.0000
ans = 16
También puede encontrar el valor de la función objetivo y el número de iteraciones en la visualización iterativa.