0% encontró este documento útil (0 votos)
272 vistas348 páginas

Optimizacion

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
272 vistas348 páginas

Optimizacion

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 348

OPTIMIZACIÓN

- Centro: Facultad de Ciencias (Sección de Matemáticas)


- Titulación: Grado en Matemáticas
- Plan de Estudios: Grado en Matemáticas-2019
- Rama de conocimiento: Ciencias
- Departamento: Matemáticas, Estadística e Investigación Operativa
- Area de conocimiento: Estadística e Investigación Operativa
- Curso: Segundo
- Carácter: Obligatoria
- Duración: 2º cuatrimestre del 2º curso
- Créditos: 6
- Dirección Web de la asignatura: http://www.campusvirtual.ull.es
- Idioma:Español
DATOS PROFESOR

- Profesor: Carlos González Martín


- Grupo:1
- Lugar Tutoría: Despacho nº 100 (4ª planta del edificio de
Matemáticas y Física)
-Horario Tutoría: Ver Guía docente (Campus Virtual ULL).
- Teléfono (despacho/tutoría): 922318191
- Correo electrónico: [email protected]
CONCEPTO

Según el DRAE , optimizar es buscar la mejor manera de realizar una


actividad. Optimización es la acción y el efecto de optimizar.
La optimización está presente en la naturaleza. Las formas, los
comportamientos, las interrelaciones de los seres vivos son resultados de
procesos en los que, de alguna manera, se optimiza.

La búsqueda de mejoras es una constante en los humanos. Estas mejoras


se identifican, frecuentemente, con lo que se denomina (a veces, de forma
inadecuada) progreso.

Se puede afirmar que, desde siempre, existe el interés de las personas por
buscar las mejores maneras para actuar. Se pueden señalar muchos
momentos de la historia en los que se han documentado acontecimientos
relevantes con presencia de la optimización.

Obviamente, la relación de problemas, en los que se manifiesta la


necesidad de optimizar, ha seguido un crecimiento espectacular en el
transcurso del tiempo. Dichos problemas aparecen en la economía, en la
gestión y dirección de organizaciones, en las ingenierías, en las
comunicaciones, etc.
CONTEXTO
Las Matemáticas, como herramienta para entender, analizar y resolver
problemas de la realidad, se ocupan de distintos problemas de optimización.
Se representan problemas a través de los correspondientes modelos
matemáticos, se introducen conceptos, se desarrollan propiedades, se
plantean algoritmos de resolución, se estudia su eficiencia, se interpretan
resultados, etc. El trabajo pertinente involucra la participación del
computador.

En la actualidad, el ordenador, por su capacidad de representación y


organización de la información y, especialmente, por posibilitar la realización
de cálculos rápidos y complejos, está presente en múltiples actividades cuya
naturaleza y propósitos exigen optimización.

La Optimización es una parte fundamental de la Investigación Operativa.


Esta ciencia, tiene como objetivo fundamental ayudar a decidir
científicamente. Se apoya en el uso de modelos formulados
matemáticamente sobre los que se resuelven problemas a través de técnicas
algorítmicas con soporte computacional.

Intentar entender la realidad y contribuir a resolver problemas es un objetivo


fundamental de la ciencia. Las Matemáticas, desde esta perspectiva, pueden
constituirse en un protagonista valioso y esencial.
OBJETIVOS

Objetivos del Titulo desarrollados en la asignatura


Conocer la naturaleza, métodos y fines de los distintos campos de la
Matemática junto con cierta perspectiva histórica de su desarrollo.

Reconocer la presencia de la Matemática subyacente en la Naturaleza, en la


Ciencia, en la Tecnología y en el Arte. Reconocer a la Matemática como
parte integrante de la Educación y la Cultura.

Desarrollar las capacidades analíticas y de abstracción, la intuición y el


pensamiento lógico y riguroso a través del estudio de la Matemática.

Capacitar para la utilización de los conocimientos teóricos y prácticos


adquiridos en la definición y planteamiento de problemas y en la búsqueda
de sus soluciones tanto en contextos académicos como profesionales.

Preparar para posteriores estudios especializados, tanto en una disciplina


matemática como en cualquiera de las ciencias que requieran buenos
fundamentos matemáticos.

Objetivos generales de la asignatura


Conocer y saber aplicar las técnicas básicas de optimización.
COMPETENCIAS

B1, B2, B5, E3, E6, E7, E8, T2, T3

B1. Demostrar poseer y comprender conocimientos en el área de las


Matemáticas a partir de la base de la educación secundaria general, a un
nivel que, si bien se apoya en libros de texto avanzados, incluye también
algunos aspectos que implican conocimientos procedentes de la vanguardia
en el estudio de las Matemáticas.

B2. Saber aplicar esos conocimientos a su trabajo o vocación de una forma


profesional y poseer las competencias que suelen demostrarse por medio de
la elaboración y defensa de argumentos y la resolución de problemas dentro
del área de las Matemáticas.

B5. Haber desarrollado aquellas habilidades de aprendizaje necesarias para


emprender estudios posteriores con un alto grado de autonomía.

E3. Asimilar la definición de un nuevo objeto matemático, en términos de


otros ya conocidos, y ser capaz de utilizar este objeto en diferentes
contextos.
COMPETENCIAS

E6. Proponer, analizar, validar e interpretar modelos de situaciones reales


sencillas, utilizando las herramientas matemáticas más adecuadas a los fines
que se persigan.

E7. Resolver problemas de Matemáticas, mediante habilidades de cálculo


básico y otros, planificando su resolución en función de las herramientas de
que se disponga y de las restricciones de tiempo y recursos.

E8. Utilizar aplicaciones informáticas de análisis estadístico, cálculo numérico


y simbólico, visualización gráfica, optimización u otras para experimentar en
Matemáticas y resolver problemas.

T2. Comunicar, tanto por escrito como de forma oral, conocimientos,


procedimientos, resultados e ideas matemáticas.

T3. Capacitar para resolver problemas de ámbito académico, técnico,


financiero o social mediante métodos matemáticos.
RESULTADOS DEL APRENDIZAJE

Saber formalizar modelos de Programación Lineal.

Conocer los fundamentos de los métodos de resolución de


problemas de Programación Lineal.

Conocer y saber aplicar el Método del Simplex (en sus distintas


variantes).

Conocer algunas aplicaciones de la Programación Lineal.

Saber plantear modelos de Programación Entera.

Conocer los métodos generales de Programación Entera.

Saber utilizar técnicas computacionales para resolver problemas


de Programación Lineal y de Programación Entera.
CONTENIDOS
Módulo I: Fundamentos
Profesor/a: Carlos González Martín
Tema 1: Fundamentos de la Investigación Operativa
Historia. Campos de aplicación. Metodología
Tema 2: Formalización de modelos
Modelos de Programación Lineal. Modelos de Programación Entera y
Combinatoria.

Módulo II: Programación Lineal


Profesor/a: Carlos González Martín
Tema 3: Conceptos básicos
Conjuntos afines. Conjuntos convexos. Poliedros. Propiedades de los
poliedros. Representación de poliedros.
Tema 4: El Método del Simplex
Fundamentos. El Método del Simplex. Tablas. Determinación de una
solución básica inicial. Reglas para eliminar ciclado.
Tema 5: Método del Simplex Revisado
Elementos esenciales para la aplicación del Método del Simplex. Tablas
inversas
Tema 6: Dualidad. Método Simplex Dual
Problema dual. Propiedades. Teorema de dualidad. Factibilidad dual.
Método Simplex Dual. Otros métodos.
CONTENIDOS
Tema 7: Programación Paramétrica
Problemas con costos paramétricos. Problemas con recursos paramétricos.

Tema 8: Análisis de Sensibilidad


Modificación de costos. Modificación de recursos. Adición de restricciones.
Adición de variable. Modificación de coeficientes tecnológicos.

Tema 9: Problemas con variables acotadas


Formulación y propiedades. El método del Simplex para variables acotadas.

Módulo III: Aplicaciones de la Programación Lineal


Profesor/a: Carlos González Martín

Tema 10: Problemas de Programación Entera


Problemas de la mochila. Problemas de emparejamiento. Problemas de
recubrimiento. Problemas de localización. Problemas del viajante.

Tema 11: Métodos generales de Programación Entera


Métodos de ramificación y acotación. Métodos de hiperplanos de corte.
BIBLIOGRAFÍA

Básica

Bazaraa, M. S.; Jarvis, J.J. y Sherali, H. D. (2010). “Linear


Programming and Network Flows” (cuarta edición). John Wiley

González Martín, C. y Sedeño Noda, A. (2003). “Programación Lineal.


Introducción a la Programación Entera y a la Programación Combinatoria”.
Fotocopias Drago.

González Martín, C. (2020). “Curso básico de Programación Lineal. Un


enfoque práctico”. Fotocopias Drago.

Complementaria

Hillier, F. S. y Lieberman, G. J. (2016). “Introducción a la Investigación


de Operaciones” (décima edición). McGraw Hill
Recursos
Solver de Microsoft Excel
Librerías de Optimización de R (https://cran.r-project.org/):
https://cran.r-project.org/web/views/Optimization.html
Se usará este software para realizar las prácticas de laboratorio.
EVALUACIÓN (Ver guía docente)
Evaluación continua

a) Prueba de evaluación continua 1 con cuestiones teórico/prácticas y


respuestas de corto desarrollo, que supone el 15% de la calificación final.
b) Prueba de evaluación continua 2 con cuestiones teórico/prácticas y
respuestas de corto desarrollo, que supone el 15% de la calificación final.
c) Prácticas obligatorias de laboratorio de informática. La asistencia a las
prácticas de laboratorio y a las pruebas de evaluación continua 1 y
2 supone el 7,5% de la calificación final.
d) Realización de cuestionarios dentro de las prácticas de laboratorio que
supone el 12,5% de la calificación final.
e) Una prueba final de evaluación continua (a realizar en la primera
convocatoria, en la fecha que el Centro ha asignado a la evaluación única),
de desarrollo teórico-práctico, que supone el 50% de la calificación final.

2. Evaluación única

Se realizará, en las correspondientes convocatorias, una prueba de aula


(examen escrito) de tipo teórico/práctico con un peso de un 70% en la
calificación final (prueba de desarrollo) y un cuestionario
teórico/práctico/laboratorio, que tendrá un peso del 30% en la calificación
final (prueba de ejecución de tareas reales y/o simuladas)
HORARIO

En el horario establecido en la agenda, se impartirán clases T y PA.


Las PE se impartirán las semanas 7, 8, 9, 12, 13 y 14.
RELACIÓN CON OTRAS MATERIAS

Cálculo Álgebra Lineal Estadística Geometría

Mat. Discreta
Optimización

Prog. Combinatoria
Mod. de Inv. Operativa

TFG P.E.
Tema 1: FUNDAMENTOS DE LA INVESTIGACIÓN OPERATIVA
Historia
Campos de aplicación
Metodología
Historia
La ciencia surge, en general, por la necesidad de analizar y
resolver problemas complejos. Esta necesidad ha crecido a lo
largo de los siglos manifestándose en organizaciones cada vez
más grandes, con más interacciones, con distintas formas de
gestión y de producción, con nuevas maneras de repartir
rendimientos o de asignar recursos y actividades, ...

Encontrar la mejor forma de resolver algunos de estos


problemas es un objetivo primordial para la humanidad. Casi
siempre este cometido tiene lugar a través de procesos de
decisión con aval científico.
Precisamente, es en este contexto en el que surge la
Investigación Operativa cuyo principio fundamental es el de
ayudar a decidir científicamente.

Las Matemáticas, en cuanto lenguaje claro, preciso,


universal,…, contribuyen decisivamente a la implementación
de dicho principio, con el apoyo indispensable del computador.
HISTORIA

Aunque existen antecedentes más antiguos, el origen de la


Investigación Operativa se sitúa al comienzo de la Segunda
Guerra Mundial (1939-1945).
Los ejércitos inglés (primero) y norteamericano (después)
convocaron a diferentes científicos para pedirles que estudiaran
y resolvieran eficientemente determinados problemas
complejos: distribución y asignación de recursos, uso eficaz de
nuevas herramientas y técnicas de defensa, planificación
efectiva de actividades, … En definitiva, los convocados llevaron
a cabo investigaciones sobre operaciones militares. De ahí
surgió el nombre.

Después de la Guerra, asuntos relacionados con la


reconstrucción y con las necesarias actuaciones, derivadas de
un nuevo orden político, económico, industrial,…, validaron la
aplicación de ideas exitosas ya aplicadas en el ámbito militar. En
este ambiente surge el Método del Simplex (Dantzig, 1947),
hito científico del siglo XX e inicio efectivo del desarrollo de la
Programación Lineal y, por extensión, de la Investigación
Operativa.
HISTORIA

Es en la década de los años cincuenta del siglo XX cuando


se sientan las bases del desarrollo posterior. Entre otras,
dos circunstancias influyeron decisivamente. En primer
lugar, la motivación de los científicos que, en ambientes de
extrema dificultad, habían participado como pioneros en
grupos de Investigación Operativa y estaban convencidos
de la necesidad de cambios y mejoras. En segundo lugar, el
inicio de la revolución de los ordenadores.

Entre la relación de figuras relevantes de la historia de la


Investigación Operativa destacamos:
Leonid V. Kantorovich
Nacido en 1912 en Leningrado (entonces San Petersburgo)
Murió en Moscú en 1986. Recibió, junto a Koopmans, el
premio Nobel de Economía en 1975. Graduado en matemáticas
en esa misma ciudad, pronto compatibiliza su trabajo como profesor con sus
investigaciones en Análisis Funcional y Matemáticas aplicadas.
En 1938 comienza sus trabajos sobre economía, planteándose el problema
de optimizar la distribución de distintas materias primas entre varios centros
de producción, bajo ciertas restricciones. Se trataba de maximizar una
función lineal, dentro de un poliedro convexo. El método general de
resolución, consistente en comparar el valor de la función en cada uno de los
vértices no resultaba conveniente ya que su número puede ser muy grande,
incluso en problemas sencillos.
En 1939 la Universidad de Leningrado publica sus trabajos bajo el título
"Métodos matemáticos de planificación y organización de la producción", que
contiene las ideas básicas de la teoría y los algoritmos de Programación
Lineal. Desgraciadamente este trabajo no llegó a ser conocido en occidente
hasta bastantes años después y de hecho no fue traducido al inglés hasta
1959. Casi de forma simultánea, el matemático holandés Koopmans, se
plantea un problema similar y obtiene resultados parecidos. Por ello el
"problema del transporte" es conocido hoy como "problema de Koopmans-
Kantorovich".
George J. Stigler
Nacido en Seattle (Washington) en 1911 y fallecido en Chicago en
1991, recibió el Nobel de Economía en 1982. Atraído por distintos
temas económicos, son conocidos sus estudios sobre la teoría de los
precios "Readings in Price Theory". En 1946 publica el trabajo
denominado "El coste de la subsistencia", en el que desarrolla el
llamado "problema de la dieta" (clasificado más tarde como de
Programación Lineal) y encuentra una solución aproximada al mismo.
Tajlling C. Koopmans (1910-1985)
Se le considera una de las figuras claves de la economía moderna, ya
que sus trabajos fueron de gran trascendencia en los desarrollos
posteriores de la teoría de la asignación de recursos escasos y en el
desarrollo de métodos estadísticos aplicados a la economía.
Durante la segunda guerra mundial Koopmans trabajó como estadístico
para la British Merchant Shipping Mission en Washington. Durante esos
años se plantea investigar acerca del análisis económico de las rutas de
transporte.
El problema de la determinación del plan de embarques que minimice el
coste total, conociendo de antemano las disponibilidades y las
demandas de cada puerto se conoce como el "problema del transporte".
Hoy en día es un problema sencillo de Programación Lineal, pero en
1942 Koopmans no podía saber que el suyo era un caso particular de
un problema más general.
George Bernard Dantzig
Nació en Portland (Oregon, USA) el 8 de Noviembre de 1914 y murió el 13 de Mayo de
2005 en Palo Alto (California, USA). Hijo de inmigrantes de origen ruso, estudia
matemáticas en la Universidad de Maryland. Poco después de doctorarse
por la Universidad de Berkeley, en 1947, formula el enunciado estándar de
un problema general de Programación Lineal y desarrolla el MÉTODO DEL
SIMPLEX. Estos estudios son una consecuencia de su trabajo como experto
en métodos de planificación para las Fuerzas Aéreas estadounidenses, que
resolvía utilizando calculadoras de mesa.
El nombre de "programación" proviene, en realidad, del término militar
"programa", que se refiere a la organización de la planificación o los
protocolos de instrucción, suministro de materiales o despliegue de tropas.
Una de las primeras aplicaciones de sus estudios fue la resolución del
llamado "puente aéreo de Berlín". A mediados de 1948, en plena guerra
fría, la URSS bloqueó las comunicaciones terrestres con Berlín. Utilizando la
Programación Lineal, se diseñó un plan de abastecimiento aéreo que en
pocos meses consiguió igualar a los anteriores suministros realizados por
carretera y ferrocarril.
La aplicación del Método del Simplex ha estado siempre ligada al desarrollo
de los ordenadores. En 1951 el ordenador SEAC (Standards Eastern
Automatic Computer) resolvía problemas con 48 restricciones y 72
variables, si bien con cierta lentitud (William Orchard-Hays, refiriéndose a
esa época, comentaba: "Una vez empezada una iteración, nos íbamos a
comer y volvíamos antes de que acabara")
En 1963 el IBM 7090 resolvía problemas con 1024 restricciones y 10 años
más tarde otro IBM, el modelo 360, era ya capaz de utilizar 32000
restricciones.
La contribución de Dantzig ha sido reconocida con numerosos premios,
entre los que destacan:
- el premio Von Neumann de la Operations Research Society del año 1975.
- La National Medal of Science en 1976.
- El National Academy of Sciences Award in Applied Mathematics and
Numerical Analysis en 1977.
- El Harvey Prize in Science and Technology del Technion, Israel, en 1985.
- La Silver Medal de la Operational Research Society of Britain en 1986.
- El Adolph Coors American Ingenuity Award Certificate of Recognition del
State of Virginia en 1989
- El Special Recognition Award de la Mathematical Programming Society en
1994.
Thomas L. Magnanti, del Massachusetts Institute of Technology, equipara a
Dantzig con científicos tan insignes como Euler, Lagrange o Newton.
PREMIO NOBEL

En 1975, Tjalling C. Koopmans y Leonid V. Kantorovich recibieron el


Premio Nobel en Economía por sus contribuciones a la teoría de la
asignación óptima de recursos; es decir, Programación Lineal o, en
términos económicos, a su extensión como linear activity analysis.

En la comunidad científica causó asombro y decepción el que Dantzig no


estuviera incluido entre los premiados.

Según Michel L. Balinski, Koopmans , profundamente afectado, donó


40000 dólares al IIASA (International Institute of System Analysis,
Austria). Esta cantidad igualaba la parte proporcional del premio que le
hubiese correspondido a Dantzig. Consultó con Kantorovich la
posibilidad de renunciar al Nobel. Esta posibilidad era difícil,
especialmente para el investigador ruso.
J. Von NEWMANN

Los fundamentos matemáticos de la Programación Lineal se deben al


matemático Janos Von Neumann, nacido en Budapest en 1903 y discípulo de
Hilbert en Göttingen durante los años 1926 y 1927. Considerado como un
científico muy brillante, obtuvo el título de Ingeniero Químico (Zurich, 1926),
manteniendo siempre un interés especial por las matemáticas. A partir de
1930 desarrolló su trabajo en USA. En su libro Theory of Games and
Economic Behavior sistematiza, junto con Oskar Morgenstern, la teoría de
juegos en la que venía trabajando desde 1928, en particular, los
denominados juegos de dos personas de suma cero, en los que la ganancia
de un jugador es una pérdida para el otro, estableciendo la solución
denominada "mini-max". Estos juegos pueden resolverse como problemas
de Programación Lineal.
Von Newmann fue uno de los pioneros de Las Ciencias de la Computación y
de la “carrera nuclear” (participó con Einstein en el “proyecto Manhatan”) Es
responsable del diseño del que se considera el primer ordenador, el ENIAC, y
creó la arquitectura de los computadores actuales.
Murió en 1957.
Narendra Karmarkar
En 1984 Narendra Karmarkar, un matemático hindú de 28 años
establecido en Estados Unidos publicó el artículo "A New
Polynomial-Time Algorithm for Linear Programming", que marcó
un hito en la Programación Lineal. A partir del trabajo de
Karmarkar se reactivó la investigación en esta rama matemática,
en especial en métodos de barrera y de punto interior. Este nuevo
método se utiliza actualmente para la resolución de problemas con
un gran número de variables. Recientemente un problema con
800.000 variables fue resuelto por este algoritmo. Su resolución
necesitó 10 horas de trabajo de ordenador. Parece ser que
utilizando el método del simplex su tiempo de resolución hubiera
sido de varias semanas.
Otros nombres como R. E. Bellmann, L. R. Ford, D. R. Fulkerson, E. W.
Dijkstra, R. E. Gomory, H. W. Kuhn, A. W. Tucker, J. B. Kruskal, R. C.
Prim,… son dignos de resaltar en esta primera época de desarrollo de la
Investigación Operativa: la década prodigiosa de los años cincuenta del
siglo XX.
A partir de aquí, la nómina de autores y la relación de aportaciones se
hace interminable.
Los profesionales y las actividades de la Investigación Operativa se
integran en sociedades científicas que, también, inician su andadura en la
referida década anterior.
Entre las más antiguas están ORSA (Operations Research Society of
America) y TIMS (The Institute of Management Science), ambas de
Norteamérica y juntas actualmente en INFORMS. En Inglaterra existe la
ORS (Operations Research Society).
En una relación larga de países (Alemania, Francia, Italia, España, Canadá,
Japón, Portugal, Brasil, …) existen sociedades de Investigación Operativa
que, también, patrocinan publicaciones científicas especializadas y/o
reuniones y congresos de ámbito nacional o internacional.
Concretamente, en España existe la SEIO (Sociedad de Estadística e
Investigación Operativa) desde 1962. Publica dos revistas integradas en el
ISI: TOP (de Investigación Operativa) y TEST ( de Estadística).
DEFINICIÓN Y PERFIL PROFESIONAL

Una definición
La Investigación Operativa tiene por objeto fundamental ayudar a decidir,
mediante métodos científicos, sobre el diseño que optimice el
funcionamiento de sistemas hombre-máquina bajo condiciones que
implican, generalmente, la utilización de recursos escasos

Áreas de trabajo
Programación Lineal, Programación Entera, Teoría de Grafos, Programación
Combinatoria, Complejidad Algorítmica, Programación no Lineal,
Programación Estocástica, Programación Dinámica, Teoría de la Decisión,
Análisis de Decisiones, Decisión Multicriterio, Teoría del Control, Teoría de
Juegos, Colas, Inventarios, Búsqueda, Teoría de la Información, Planificación
y Secuenciación, Simulación, Fiabilidad y Mantenimiento, etc.

¿Dónde trabajan los profesionales de la Investigación Operativa?


Universidades y Centros de Investigación.
Empresas (Producción, Marketing, etc.)
Bancos (Finanzas, Planificación de Inversiones, etc.)
Gobiernos (Planificación, Defensa, Salud, Educación, Economía, Políticas
Energéticas, Protección Civil, etc.)
Servicios (Comunicación, Transporte, Distribución, etc.)
Etc., Etc.
METODOLOGÍA

La metodología de la Investigación Operativa ésta basada en el principio


de modelización. Un esquema de su aplicación es el siguiente.

DECISOR ANALISTA

PROBLEMA MODELO
FORMALIZACIÓN
DEDUCCIÓN

NO
CONCLUSIONES CONCLUSIONES
SOBRE EL PROBLEMA SOBRE EL MODELO

INTERPRETACIÓN
SI ¿MODELO
VÁLIDO?
METODOLOGÍA

Aunque las fases interactivas de formalización y de interpretación son


esenciales, el trabajo en esta asignatura se centra más en la fase técnica
de deducción, desarrollando herramientas que posibiliten obtener
conclusiones del modelo. Sin embargo, el trabajo desarrollado en esta fase
puede resultar poco productivo si no se presta especial atención a las otras
dos.
Tema 2: FORMALIZACIÓN DE MODELOS

Modelos de Programación Lineal.


Modelos de Programación Entera y Combinatoria

• Se formalizan distintos modelos matemáticos de


Optimización (Programación Matemática).
• Se formula el problema general de Programación Lineal,
identificando los distintos elementos que lo componen.
• Se introduce la forma estándar de dicho problema.
• Se establecen las pautas para convertir cualquier caso al
correspondiente estándar.
• Se presenta la resolución gráfica en el caso bidimensional.
FORMALIZACIÓN DE MODELOS

Ejemplo 1: Problema de producción


Una empresa de ensamblaje de ordenadores comercializa tres tipos de
aparatos. Portátiles (A), de sobremesa (B) y servidores (C). Antes de
comercializar los productos deben ensamblarse en el departamento de
producción y ser revisados en el departamento de control de calidad.
Los tiempos, en horas, empleados en ambas tareas (H1 y H2), los precios
de comercialización (en euros) de cada uno de los aparatos y las horas
semanales disponibles, vienen especificados en la siguiente tabla:

A B C Horas disponibles
H1/aparato 10 15 20 600
H2/aparato 4 4 8 180
precio/aparato 300 375 475

El problema que se plantea es el de determinar la cantidad de cada tipo de


ordenadores que se deben ensamblar en una semana para maximizar los
precios globales (respetando las condiciones que se especifican).
FORMALIZACIÓN DE MODELOS

Observamos que hay tres actividades (la producción de cada uno de los
aparatos) cuyos niveles hay que determinar. Para llevarlas a cabo se utilizan
dos recursos: tiempo de producción y tiempo de revisión.
Sea xj , j=1,2,3,la variable de decisión que está asociada al número de
aparatos de cada tipo que se han de ensamblar.
Los precios de comercialización (que hay que maximizar) serán iguales a
300𝑥1 + 375𝑥2 + 475𝑥3
Las condiciones de producción implican que:
- Las horas de producción empleadas no pueden superar 600
10𝑥1 + 15𝑥2 + 20𝑥3 ≤ 600
- Las horas de revisión deben ser, a lo sumo, 180
4𝑥1 + 4𝑥2 + 8𝑥3 ≤ 180

El modelo matemático correspondiente es:

m𝑎𝑥 300𝑥1 + 375𝑥2 + 475𝑥3 O, consumiendo todas las horas


𝑠. 𝑎: 10𝑥1 + 15𝑥2 + 20𝑥3 ≤ 600 disponibles:
4𝑥1 + 4𝑥2 + 8𝑥3 ≤ 180 m𝑎𝑥 300𝑥1 + 375𝑥2 + 475𝑥3
𝑥𝑗 ≥ 0, 𝑗 = 1,2,3 𝑠. 𝑎: 10𝑥1 + 15𝑥2 + 20𝑥3 = 600
4𝑥1 + 4𝑥2 + 8𝑥3 = 180
𝑥𝑗 ≥ 0, 𝑗 = 1,2,3
FORMALIZACIÓN DE MODELOS

Precios

m𝑎𝑥 300𝑥1 + 375𝑥2 + 475𝑥3 Función objetivo


𝑠. 𝑎: 10𝑥1 + 15𝑥2 + 20𝑥3 = 600
4𝑥1 + 4𝑥2 + 8𝑥3 = 180 Recursos
𝑥𝑗 ≥ 0, 𝑗 = 1,2,3
Restricciones
Coeficientes tecnológicos

Notación matricial
max 𝑐 𝑡 𝑥
𝑠. 𝑎: 𝐴𝑥 ≤ 𝑏
𝑥≥0
FORMALIZACIÓN DE MODELOS
Ejemplo 2: Problema de transporte
Tres almacenes ofertan un producto que se demanda en cinco mercados. Las
cantidades ofertadas en origen, las demandas de los destinos (medidas
ambas en cientos de kilogramos) y los costos de transporte (euros por
unidad de producto) entre cada almacén y cada mercado, aparecen en la
siguiente tabla:
M1 M2 M3 M4 M5 Ofertas
Al1 2 5 2 4 6 38
Al2 5 2 7 6 3 44
Al3 4 6 8 9 5 69
Demandas 43 29 37 14 28

Interesa diseñar una política de transporte, que minimice los costos


globales, atendiendo las demandas de los mercados y respetando las ofertas
de los almacenes
Es evidente que las variables de decisión deben ser:
xij= cantidad de producto que se ha de transportar desde el almacén i al
mercado j, para i=1,2,3, j=1,2,3,4,5
El problema de optimización es:
FORMALIZACIÓN DE MODELOS
min 2 x11 + 5 x12 + 2 x13 + 4 x14 + 6 x15 + 5 x21 + 2 x22 + 7 x23 + 6 x24 + 3x25 + 4 x31 + 6 x32 + 8 x33 + 9 x34 + 5 x35
s. a : x11 + x12 + x13 + x14 + x15 = 38
x21 + x22 + x23 + x24 + x25 = 44
x31 + x32 + x33 + x34 + x35 = 69
x11 + x21 + x31 = 43
x12 + x22 + x32 = 29
x13 + x23 + x33 = 37
x14 + x24 + x34 = 14
x15 + x25 + x35 = 28
xij  0, i = 1, 2,3, j = 1, 2,3, 4,5
Este modelo, que elimina stocks en origen y en destino, es un caso particular
de: m n
min  cij xij
i =1 j =1
min c t x
n
s. a :  xij = ai , i = 1,..., m s. a : Ax = b
j =1
x0
m

x
i =1
ij = b j , j = 1,..., n

xij  0, i = 1,..., m, j = 1,..., n


FORMALIZACIÓN DE MODELOS
Ejemplo 3. Problemas de flujos en redes
Dada una red dirigida conexa (V,A) con 𝑛 vértices, sean:
- bi la disponibilidad de producto en el vértice i (si es positiva, vértice de
oferta; si es negativa, vértice de demanda; si es cero, vértice de trasbordo)
- (lij , uij , cij) respectivamente, las capacidades inferior y superior y el costo por
unidad de producto transportado desde i hasta j, para todo arco (i,j) de A

En el siguiente ejemplo la disponibilidad de cada vértice aparece en negrita.


Al lado de cada arco aparece la terna de capacidades y costo

(3,9,2)
0
2 5 -4
(1,9,4) (2,6,8) (1,9,7)
(2,8,5)
(1,6,3)
17 1 4 7 -4
(0,6,2) 4
(0,5,4)
(2,8,5) (1,7,3)
(0,6,9)
3 6
(0,8,5)
-5 -8
FORMALIZACIÓN DE MODELOS
El problema de flujo de costo mínimo consiste en determinar las cantidades
de producto que debe circular por los arcos para minimizar los costos
globales de transporte, respetando las disponibilidades de los vértices y las
capacidades de los arcos.

min 4𝑥12 + 5𝑥13 + 2𝑥14 + 2𝑥25 + 5𝑥24 + 5𝑥36 + 3𝑥43 + 4𝑥46 + 3𝑥47 + 8𝑥54 + 7𝑥57 + 9𝑥76
𝑠. 𝑎: 𝑥12 + 𝑥13 + 𝑥14 = 17
−𝑥12 + 𝑥24 + 𝑥25 = 0
−𝑥13 − 𝑥43 + 𝑥36 = −5
−𝑥14 − 𝑥24 + 𝑥43 + 𝑥46 + 𝑥47 − 𝑥54 = 4
−𝑥25 + 𝑥54 + 𝑥57 = −4
−𝑥36 − 𝑥46 − 𝑥76 = −8
−𝑥47 − 𝑥57 + 𝑥76 = −4
1 ≤ 𝑥12 ≤ 9, 2 ≤ 𝑥13 ≤ 8, 0 ≤ 𝑥14 ≤ 6, 3 ≤ 𝑥25 ≤ 9
2 ≤ 𝑥24 ≤ 8, 1 ≤ 𝑥43 ≤ 7, 0 ≤ 𝑥36 ≤ 8, 0 ≤ 𝑥46 ≤ 5
2 ≤ 𝑥54 ≤ 6, 1 ≤ 𝑥57 ≤ 9, 1 ≤ 𝑥47 ≤ 6, 0 ≤ 𝑥76 ≤ 6
COMO ILUSTRACIÓN

Una solución óptima del anterior problema con costo igual a 167 es:

(3,9,2)
0
2 5 -4
7
(1,9,4) 2 (2,6,8) (1,9,7)
9 (2,8,5) 2 1
1 (1,6,3)
17 1 4 7 -4
(0,6,2) 4 3
7 1 (0,5,4) 0
(2,8,5) (1,7,3) 5
(0,6,9)
3
3 6
(0,8,5)
-5 -8
FORMALIZACIÓN DE MODELOS

La formulación que corresponde al caso general es:

min ෍ ෍ 𝑐𝑖𝑗 𝑥𝑖𝑗


𝑖∈𝑉 𝑗∈𝑆𝑢𝑐 𝑖

𝑠. 𝑎: ෍ 𝑥𝑖𝑗 − ෍ 𝑥𝑗𝑖 = 𝑏𝑖 , ∀𝑖 ∈ 𝑉
𝑗∈𝑆𝑢𝑐 𝑖 𝑗∈𝑃𝑟𝑒𝑑 𝑖
𝑙𝑖𝑗 ≤ 𝑥𝑖𝑗 ≤ 𝑢𝑖𝑗 , ∀ 𝑖, 𝑗 ∈ 𝐴

siendo 𝑆𝑢𝑐 𝑖 = 𝑗 ∈ 𝑉| 𝑖, 𝑗 ∈ 𝐴 y 𝑃𝑟𝑒𝑑 𝑖 = 𝑗 ∈ 𝑉| 𝑗, 𝑖 ∈ 𝐴


FORMALIZACIÓN DE MODELOS
Ejemplo 4: Problema de árbol de caminos mínimos
Como caso particular del problema anterior, podemos considerar que cada
arco solo tiene asociada la distancia entre sus vértices.
Si 𝑏1 = 𝑛 − 1 y 𝑏𝑖 = −1 , para 𝑖 distinto de 1, tenemos:

−𝟏 7 5 −𝟏
2
6 8 4
5
3
𝒏−𝟏 1 4 7 −𝟏
7 −𝟏
9
6 5
4
3 6
2
−𝟏 −𝟏
La formulación del correspondiente problema de flujo de coste mínimo
permite determinar el árbol de caminos mínimos desde el vértice 1 al
resto de vértices.
FORMALIZACIÓN DE MODELOS

min   cij xij


iV jSuc ( i )

− ( n − 1) , si i = s
s.a : −  
xij + x = 
1, si i  s
ji
jSuc ( i ) jPr ed ( i )

xij  0,  ( i, j )  A
FORMALIZACIÓN DE MODELOS
Ejemplo 5: Problemas de la mochila (knapsack)
Un recipiente puede soportar un peso total de W. En el se puede introducir n
productos, cada uno con peso 𝑤𝑗 y con valor 𝑣𝑗 .
Para determinar los productos que hay que introducir en el recipiente de
forma que se maximice el valor global, planteamos el problema:
𝑛

m𝑎𝑥 ෍ 𝑣𝑗 𝑥𝑗
𝑗=1
𝑛

෍ 𝑤𝑗 𝑥𝑗 ≤ 𝑊
𝑗=1
𝑥𝑗 = 0,1, 𝑗 = 1, … , 𝑛
siendo:
1, 𝑠𝑖 𝑒𝑙 𝑝𝑟𝑜𝑑𝑢𝑐𝑡𝑜 𝑗 𝑒𝑠 𝑖𝑛𝑡𝑟𝑜𝑑𝑢𝑐𝑖𝑑𝑜
𝑥𝑗 = ቊ
0, 𝑒𝑛 𝑜𝑡𝑟𝑜 𝑐𝑎𝑠𝑜

Este modelo es conocido como problema de la mochila 0-1.


FORMALIZACIÓN DE MODELOS
Si los productos aparecen clasificados en diferentes tipos y se puede
introducir en el recipiente más de uno de un mismo tipo, el correspondiente
problema es:
𝑛

m𝑎𝑥 ෍ 𝑣𝑗 𝑥𝑗
𝑗=1
𝑛

෍ 𝑤𝑗 𝑥𝑗 ≤ 𝑊
𝑗=1
𝑥𝑗 ≥ 0 𝑦 𝑒𝑛𝑡𝑒𝑟𝑜, 𝑗 = 1, … , 𝑛
Ahora:
𝑥𝑗 = 𝑛ú𝑚𝑒𝑟𝑜 𝑑𝑒 𝑝𝑟𝑜𝑑𝑢𝑐𝑡𝑜𝑠 𝑡𝑖𝑝𝑜 𝑗 𝑖𝑛𝑡𝑟𝑜𝑑𝑢𝑐𝑖𝑑𝑜𝑠
Este modelo es conocido como problema de la mochila entero.

Es fácil plantear problemas de este tipo con más de un recipiente


(problemas multimochila 0-1 o enteros). También existe la posibilidad de
problemas tipo mochila en los que los se pueden introducir partes de los
productos (problemas de mochila continuos). La versión multimochila
continua se corresponde con el problema de producción.
FORMALIZACIÓN DE MODELOS
Ejemplo 6: Problemas de asignación (assignment)
Dados los conjuntos 𝐴 = 𝑖|𝑖 = 1, … , 𝑛 y 𝐵 = 𝑗|𝑗 = 1, … , 𝑛 , la formación de una
pareja mediante la asignación a un elemento 𝑖 ∈ 𝐴 de un elemento 𝑗 ∈ 𝐵 tiene
un costo igual a 𝑐𝑖𝑗 . Una asignación consiste en la formación de parejas entre
todos los elementos de A y de B.
La asignación de costo global mínimo viene determinada por:
𝑛 𝑛

min ෍ ෍ 𝑐𝑖𝑗 𝑥𝑖𝑗


𝑖=1 𝑗=1
𝑛

𝑠. 𝑎: ෍ 𝑥𝑖𝑗 = 1, 𝑖 = 1, … , 𝑛
𝑗=1
𝑛

෍ 𝑥𝑖𝑗 = 1, 𝑗 = 1, … , 𝑛
𝑖=1
𝑥𝑖𝑗 = 0,1, 𝑖 = 1, … , 𝑛, 𝑗 = 1, … , 𝑛
siendo
1, 𝑠𝑖 𝑖 ∈ 𝐴 𝑒𝑠 𝑎𝑠𝑖𝑔𝑛𝑎𝑑𝑜 𝑎 𝑗 ∈ 𝐵
𝑥𝑖𝑗 = ቊ
0, 𝑒𝑛 𝑜𝑡𝑟𝑜 𝑐𝑎𝑠𝑜
FORMALIZACIÓN DE MODELOS
Ejemplo 7: Problemas de localización(location)
En una gran área, un conjunto de clientes, 𝐶 = 1, … , 𝑛 , demanda un
determinado producto en cantidades 𝑑𝑗 , 𝑗 ∈ 𝐶 . Para atenderles, se proyecta
construir, a lo sumo, m plantas de producción y una red de rutas
comerciales.
Un gabinete técnico determina 𝑝 ≥ 𝑚 posibles lugares de localización de una
de estas plantas.
Para cada 𝑖 ∈ 1, … , 𝑝 , se conoce:
𝑘𝑖 = costo de localización de la planta de producción
𝑎𝑖 = capacidad de producción de la planta
La creación de una ruta comercial entre 𝑖 ∈ 1, … , 𝑝 y 𝑗 ∈ 1, … , 𝑛 , con una
capacidad máxima de 𝑢𝑖𝑗 , tiene un costo igual a 𝑘𝑖𝑗 . El costo unitario de
transporte por cada una de estas rutas es igual a 𝑐𝑖𝑗 .
El problema que se plantea es el de determinar cuántas plantas hay que
localizar (a lo sumo m), qué rutas comerciales hay que crear y cuántas
unidades de producto se deben transportar desde las plantas a los puntos
de consumo de manera que se satisfagan las demandas, se respeten las
capacidades de las plantas y de las rutas comerciales y se minimicen los
costos globales.
FORMALIZACIÓN DE MODELOS
El correspondiente modelo es:
𝑝 𝑛 𝑝 𝑛 𝑝

min ෍ ෍ 𝑐𝑖𝑗 𝑥𝑖𝑗 + ෍ ෍ 𝑘𝑖𝑗 𝑦𝑖𝑗 + ෍ 𝑘𝑖 𝑦𝑖


𝑖=1 𝑗=1 𝑖=1 𝑗=1 𝑖=1
𝑝

𝑠. 𝑎: ෍ 𝑦𝑖 ≤ 𝑚
𝑖=1
𝑝

෍ 𝑥𝑖𝑗 ≥ 𝑑𝑗 , 𝑗 = 1, … , 𝑛
𝑖=1
𝑛

෍ 𝑥𝑖𝑗 ≤ 𝑦𝑖 𝑎𝑖 , 𝑖 = 1, … , 𝑝
𝑗=1
𝑥𝑖𝑗 ≤ 𝑢𝑖𝑗 𝑦𝑖𝑗 , 𝑖 = 1, … , 𝑝, 𝑗 = 1, … , 𝑛
𝑥𝑖𝑗 ≥ 0, 𝑦𝑖𝑗 = 0,1, 𝑦𝑖 = 0,1, 𝑖 = 1, … , 𝑝, 𝑗 = 1, … , 𝑛

1, 𝑠𝑖 𝑖 𝑒𝑠 𝑒𝑙𝑒𝑔𝑖𝑑𝑜 1, 𝑠𝑖 𝑠𝑒 𝑐𝑟𝑒𝑎 𝑙𝑎 𝑟𝑢𝑡𝑎 𝑐𝑜𝑚𝑒𝑟𝑐𝑖𝑎𝑙


siendo 𝑦𝑖 = ቊ , 𝑦𝑖𝑗 = ቊ y 𝑥𝑖𝑗 ≥ 0 la
0, 𝑒𝑛 𝑜𝑡𝑟𝑜 𝑐𝑎𝑠𝑜 0, 𝑒𝑛 𝑜𝑡𝑟𝑜 𝑐𝑎𝑠𝑜
cantidad de producto que, en su caso, se transporta por la correspondiente
ruta comercial.
Existen distintos tipos de problemas de localización de centros de servicio
(sanitarios, de seguridad, alimentarios,…), depósitos, estaciones de
comunicaciones, vertederos, centrales energéticas, etc.
TERMINOLOGÍA BÁSICA
Terminología básica

Un problema de Programación Lineal queda determinado por:

min 𝑐 𝑡 𝑥
𝑠. 𝑎: 𝐴𝑥 = 𝑏 forma estándar
𝑥≥0

siendo c el vector de costos, b el vector de recursos y A la matriz (con m filas


y n columnas) de coeficientes tecnológicos.
𝑥 es el vector de variables de decisión.
Se supone que el rango de A es máximo y que este coincide con el número
de filas.
Cualquier problema de Programación Lineal se puede convertir en uno
equivalente expresado en la forma estándar.
*Si aparece una inecuación en las restricciones , se convierte en ecuación
sumando o restando una variable de holgura:
3𝑥1 + 5𝑥2 − 2𝑥3 ≤ 10 → 3𝑥1 + 5𝑥2 − 2𝑥3 + 𝑥4 = 10
7𝑥1 − 4𝑥2 + 3𝑥3 ≥ 8 → 7𝑥1 − 4𝑥2 + 3𝑥3 − 𝑥5 = 8
CONVERSIÓN A LA FORMA ESTÁNDAR
*Si aparece una variable no positiva, multiplicando por -1 se convierte en
no negativa
𝑥𝑗 ≤ 0 → −𝑥𝑗 ≥ 0
*Si una variable no tiene signo especificado (libre, sin restringir en
signo), se puede sustituir por la diferencia de dos variables no negativas.

Se observa que si:


𝑥, 𝑠𝑖 𝑥 > 0
6 𝑥+ = ቊ
−6 0 0, 𝑠𝑖 𝑥 ≤ 0
−4 0 4
𝑥= 0 definimos +
𝑥 = 0 y −
𝑥 = 0
5 5 0
7 7 0
−𝑥, 𝑠𝑖 𝑥 < 0
𝑥− = ቊ
0, 𝑠𝑖 𝑥 ≥ 0
Resulta que 𝑥 + , 𝑥 − ≥ 0 y que 𝑥 = 𝑥 + − 𝑥 −.

*Maximizar la función objetivo es equivalente al negativo del mínimo del


negativo de dicha función:
max 𝑐 𝑡 𝑥 = − min −𝑐 𝑡 𝑥
CONVERSIÓN A LA FORMA ESTÁNDAR
Dado el problema:
max imizar 25 x1 − 35 x2 + 75 x3
sujeto a: 2x1 − 6 x2 + 4 x3  20
− 4 x1 + 5 x2 − 6 x3  18
x1 + 2 x2 − 3 x3 = 10
x1  0, x2  0

El correspondiente problema en la forma estándar es:

− min imizar − 25 x1 − 35 x2 − 75 x3 + 75 x4
sujeto a: 2x1 + 6 x2 + 4 x3 − 4 x4 + x5 = 20
− 4 x1 − 5 x2 − 6 x3 + 6 x4 − x6 = 18
x1 − 2 x2 − 3 x3 + 3 x4 = 10
x j  0, j = 1,...,6
RESOLUCIÓN GRÁFICA

Método gráfico
Un problema de Programación Lineal puede ser resuelto gráficamente
siempre que se pueda dibujar. Obviamente, esto sería posible cuando el
problema tenga dos variables o, más difícilmente, tres variables. Para la
resolución gráfica no es necesario que las restricciones sean ecuaciones.

Ejemplo 1

max 4 𝑥1 + 2𝑥2
4𝑥1 + 2𝑥2 = 𝑘
𝑠. 𝑎: −𝑥1 + 𝑥2 ≤ 4 (2,6)
3𝑥1 + 2𝑥2 ≤ 18
3𝑥1 + 𝑥2 ≤ 15
𝑥1 ≥ 0, 𝑥2 ≥ 0
(0,4) Solución óptima
𝑘
(4,3)
2

(0,0) (5,0)
Ejemplo 2

max 3 𝑥1 + 2𝑥2
3𝑥1 + 2𝑥2 = 𝑘
𝑠. 𝑎: −𝑥1 + 𝑥2 ≤ 4 (2,6)
3𝑥1 + 2𝑥2 ≤ 18 Soluciones óptimas
3𝑥1 + 𝑥2 ≤ 15
𝑥1 ≥ 0, 𝑥2 ≥ 0
(0,4)
𝑘
(4,3)
2

(0,0) (5,0)
RESOLUCIÓN GRÁFICA
Ejemplo 3

min imizar 2x1 + 3x2


sujeto a: x1 + x2  4 (2,6)
3x1 + 4 x2  18
x1 , x2  0
(0,4.5)
(0,4)

(0,0) (4,0) (6,0)

Problema no factible
RESOLUCIÓN GRÁFICA
Ejemplo 4
max imizar 3x1 + 4 x2
sujeto a: x1 + x2  3
− x1 + 2 x2  10
x1 − 4 x2  4
x1 , x2  0
(0,5)

(0,3)

𝑘
4 (3,0)

(0,0) (4,0)

3𝑥1 + 4𝑥2 = 𝑘
Problema no acotado
Tema 3: CONCEPTOS BÁSICOS
Conjuntos afines.
Conjuntos convexos.
Poliedros.
Propiedades de los poliedros.
Representación de poliedros.
Introducción
La región factible de un problema de Programación Lineal es un poliedro
cerrado. Este tipo de conjuntos convexos resultan de la intersección finita
de semiespacios. Estos, a su vez, están definidos a partir de hiperplanos,
los cuales son conjuntos afines de dimensión máxima.
De ahí la secuencia de conceptos y propiedades de este tema.
El correspondiente estudio puede ser más amplio. Sin embargo, de
momento, sólo nos fijaremos en lo imprescindible para nuestros propósitos.

Conjunto afín Hiperplano Semiespacio Conj. convexo

Programación Lineal Poliedro


Combinación lineal no negativa

𝛼𝑢 + 𝛽𝑣
𝛼, 𝛽 ≥ 0

Combinaciones convexas

𝛼𝑢 + 𝛽𝑣
u 𝛼+𝛽 =1
𝛼, 𝛽 ≥ 0
Combinaciones afines
𝛼𝑢 + 𝛽𝑣 v
𝛼, 𝛽 ∈ 𝑅
𝛼𝑢 + 𝛽𝑣
𝛼+𝛽 =1
Combinación lineal
CONJUNTOS AFINES
Conjuntos afines
Un subconjunto 𝑇 de 𝑅𝑛 es afín sí, y sólo si, contiene las rectas que pasan
por cualquier par de sus puntos; es decir, ∀𝑥 1 , 𝑥 2 ∈ 𝑇, ∀𝜆 ∈ 𝑅, 𝑥 1 + 𝜆 𝑥 2 − 𝑥 1 ∈ 𝑇
(∀𝑥 1 , 𝑥 2 ∈ 𝑇, ∀𝜆 ∈ 𝑅, 𝜆𝑥 1 + 1 − 𝜆 𝑥 2 ∈ 𝑇 ).
Trivialmente, ∅ y 𝑅𝑛 son conjuntos afines.
Ejemplo
En 𝑅2 los conjuntos unitarios y los que definen rectas son conjuntos afines.
En 𝑅3 , los puntos, las rectas y los planos son conjuntos afines.
Aplicando la definición anterior, si 𝑥 1 , 𝑥 2 , 𝑥 3 ∈ 𝑇, como ∀𝜆 ∈ 𝑅, 𝑥 1 + 𝜆 𝑥 2 − 𝑥 1 ∈
𝑇 , tenemos que ∀𝛿 ∈ 𝑅 , 𝑥 3 + δ 𝑥 1 + 𝜆 𝑥 2 − 𝑥 1 − 𝑥 3 ∈ 𝑇 . La suma de los
escalares que multiplican los vectores es: 1 + δ + δ𝜆 − δ𝜆 − δ = 1.

Combinación lineal afín


Dados 𝑥 1 , 𝑥 2 , … , 𝑥 𝑙 ∈ 𝑅𝑛 , 𝛿1 , 𝛿2 , … , 𝛿𝑙 ∈ 𝑅, 𝑙 ∈ 𝑁, σ𝑙𝑗=1 𝛿𝑗 = 1, diremos que σ𝑙𝑗=1 𝛿𝑗 𝑥 𝑗
es una combinación lineal afín de 𝑥 1 , 𝑥 2 , … , 𝑥 𝑙 .

Es evidente que 𝑥 3 + δ 𝑥 1 + 𝜆 𝑥 2 − 𝑥 1 − 𝑥 3 es una combinación lineal afín de


𝑥1, 𝑥 2, 𝑥 3.

Por tanto, 𝑇 ⊆ 𝑅𝑛 es afín sí, y solo si, contiene las combinaciones lineales
afines construidas a partir de un número finito de vectores de 𝑇
CONJUNTOS AFINES

Proposición
𝑆 ⊆ 𝑅𝑛 es un subespacio vectorial, sí, y sólo si, es un subconjunto afín y
contiene el vector 0.
Demostración
⟹) Trivial ya que ∀𝑥, 𝑦 ∈ 𝑆, ∀𝜆 ∈ 𝑅, 𝜆𝑥 ∈ 𝑆, 1 − 𝜆 𝑦 ∈ 𝑆 , 𝜆𝑥 + 1 − 𝜆 𝑦 ∈ 𝑆. Además,
∀𝑥 ∈ 𝑆,−𝑥 ∈ 𝑆 y 0 = x − 𝑥 ∈ 𝑆
⇐) Si S es un subconjunto afín y contiene el vector 0
∀𝑥 ∈ 𝑆, ∀𝜆 ∈ 𝑅, 𝜆𝑥 = 0 + 𝜆 𝑥 − 0 ∈ 𝑆
𝑥+𝑦 1 1
∀𝑥 ∈ 𝑆, ∀𝑦 ∈ 𝑆, 𝑥 + 𝑦 = 2 =2 𝑥+ 1− 𝑦
2 2 2
Por tanto, S es un subespacio vectorial.

𝑅2
CONJUNTOS AFINES
Definición
Dados dos subconjuntos U y V de 𝑅𝑛 . Decimos que U es trasladado de V (o
una traslación de V) sí, y sólo si, ∃𝑎 ∈ 𝑅𝑛 tal que 𝑈 = 𝑉 + 𝑎 = {𝑥 + 𝑎 | 𝑥 ∈ 𝑉}
Proposición
T es un subconjunto afín de 𝑅𝑛 sí, y sólo si, T es trasladado de un único
subespacio vectorial de 𝑅𝑛 .
Demostración
⟹) ∀𝑥 ∈ 𝑇, tenemos que 𝑇 = 𝑥 + 𝑇 − 𝑥 . Como 𝑇 − 𝑥 es un conjunto afín que
contiene el 0, 𝑇 − 𝑥 es en subespacio vectorial de 𝑅𝑛 . Esta representación es
única ya que si 𝑇 = 𝑎 + 𝑆1 = 𝑏 + 𝑆2 , con 𝑆1 y 𝑆2 subespacios vectoriales de 𝑅𝑛 ,
tenemos que 𝑆1 = 𝑐 + 𝑆2 . Por tanto, 𝑐, −𝑐 ∈ 𝑆2 y, en consecuencia, 𝑆1 = 𝑐 + 𝑆2 ⊆
𝑆2 . De igual manera, se puede demostrar que 𝑆2 ⊆ 𝑆1 .
⇐) Trivial

Por tanto, cualquier conjunto afín 𝑇 de 𝑅𝑛 se puede expresar como 𝑇 =


𝑎 + 𝑆, con 𝑎 ∈ 𝑅𝑛 y 𝑆 subespacio vectorial (único) de 𝑅𝑛 . Se dice también
que 𝑇 es paralelo a 𝑆.

Definición
La dimensión de un conjunto afín es la del subespacio vectorial paralelo
correspondiente.
HIPERPLANOS
Definición
Los subconjuntos afines de 𝑅𝑛 que resultan de una traslación de un
subespacio vectorial de dimensión 𝑛 − 1 se denominan hiperplanos.
Definición
Dado un subespacio S ⊆ Rn , el complemento ortogonal es:
𝑛

𝑆 ⊥ = {𝑦 ∈ 𝑅𝑛 |𝑦 𝑡 𝑥 = ෍ 𝑦𝑗 𝑥𝑗 = 0, ∀𝑥 ∈ 𝑆}
𝑗=1

Propiedad
𝑆 ⊥ es también un subespacio vectorial. Además, 𝑑𝑖𝑚 𝑆 + 𝑑𝑖𝑚 𝑆 ⊥ = 𝑛.
Si 𝑆 = {𝜇𝑏|𝜇 ∈ 𝑅} y 𝑏 ∈ 𝑅𝑛 − {0}, 𝑆 ⊥ es un subespacio vectorial de dimensión
𝑛 − 1. Además, 𝑆 ⊥ = {𝑥 ∈ 𝑅𝑛 |𝑏𝑡 𝑥 = 0}.
Recíprocamente, si 𝑆 es un subespacio vectorial de dimensión 𝑛 − 1, ∃𝑏 ∈ 𝑅𝑛 −
{0}, tal que 𝑆 ⊥ = {𝜇𝑏|𝜇 ∈ 𝑅}.

Por tanto, 𝐻 ⊆ 𝑅𝑛 es un hiperplano, sí, y sólo si, ∃𝑏 ∈ 𝑅𝑛 − {0},∃𝑎 ∈ 𝑅𝑛 , tales


que 𝐻 = 𝑥 + 𝑎 𝑥 ∈ 𝑅𝑛 , 𝑏𝑡 𝑥 = 0 = {𝑦 ∈ 𝑅𝑛 |𝑏𝑡 𝑦 − 𝑎 = 0}
Por tanto, la expresión 𝑏𝑡 𝑦 − 𝑎 = 0 caracteriza el hiperplano 𝐻. Si 𝑏𝑡 𝑎 = 𝛽,
𝐻 = {𝑦 ∈ 𝑅𝑛 |𝑏𝑡 𝑦 = 𝛽} o, simplemente, H viene determinado por 𝑏𝑡 𝑦 = 𝛽. Esta
representación de un hiperplano es, salvo multiplicación no nula, única.
HIPERPLANOS
Semiespacios
Cualquier hiperplano 𝐻 = {𝑦 ∈ 𝑅𝑛 |𝑏𝑡 𝑦 = 𝛽} determina los dos semiespacios
𝐻 ≤ = {𝑦 ∈ 𝑅𝑛 |𝑏𝑡 𝑦 ≤ 𝛽} y 𝐻 ≥ = {𝑦 ∈ 𝑅𝑛 |𝑏𝑡 𝑦 ≥ 𝛽}. Obviamente, 𝐻 = 𝐻 ≤ ∩ 𝐻 ≥ .
Los semiespacios no son conjuntos afines.

Proposición
T es un conjunto afín, sí, y sólo si, T es intersección de un número finito de
hiperplanos. Es decir, para algún 𝑚 ≤ 𝑛, 𝑇 = {𝑥 ∈ 𝑅 𝑛 |𝐵𝑥 = 𝑏}, con 𝐵 matriz de
orden 𝑚 × 𝑛 y 𝑏 ∈ 𝑅𝑚 .
Demostración
⟹) Sea S el subespacio vectorial paralelo a T. Sea 𝑏1 , 𝑏2 , … , 𝑏𝑚 ∈ 𝑅𝑛 una base
de 𝑆 ⊥ . Como 𝑆 = 𝑆 ⊥ ⊥ = 𝑥 ∈ 𝑅𝑛 𝑥 𝑡 𝑏𝑖 = 0, ∀𝑖 ∈ 1, … , 𝑚 = {𝑥 ∈ 𝑅𝑛 |𝐵𝑥 = 0}, siendo
𝐵 matriz de orden 𝑚 × 𝑛 formada con los vectores transpuestos de
𝑏1 , 𝑏2 , … , 𝑏𝑚 . Como 𝑇 = 𝑆 + 𝑎 = 𝑥 ∈ 𝑅𝑛 𝐵 𝑥 − 𝑎 = 0 = {𝑥 ∈ 𝑅𝑛 |𝐵𝑥 = 𝑏}, con 𝐵𝑎 =
𝑏 ∈ 𝑅𝑚 .
Si 𝑇 = 𝑅𝑛 , 𝐵 = 0 y 𝑏 = 0. Si 𝑇 = ∅, 𝐵 = 0 y 𝑏 ≠ 0.
𝑅𝑛 es la intersección de una colección vacía de hiperplanos. ∅ es intersección
de dos hiperplanos paralelos.
⇐) Trivial.
INDEPENDENCIA AFÍN
Envoltura afín
Dado un subconjunto C de 𝑅𝑛 , su envoltura afín, 𝐴𝑓í𝑛 𝐶 , es la intersección
de todos los conjuntos afines que lo contienen. Se demuestra que:
𝑙 𝑙

𝐴𝑓í𝑛 𝐶 = ෍ 𝛿𝑗 𝑥 𝑗 | 𝑙 ∈ 𝑁, 𝑥 𝑗 ∈ 𝐶, 𝛿𝑗 ∈ 𝑅, ∀𝑗 ∈ 1, … , 𝑙 , ෍ 𝛿𝑗 = 1
𝑗=1 𝑗=1
Independencia afín
Un conjunto de vectores 𝑏0 , 𝑏1 , …, 𝑏𝑚 son afínmente independientes sí, y
sólo si, 𝐴𝑓í𝑛 𝑏0 , 𝑏1 , …, 𝑏𝑚 tiene dimensión m. Resulta que 𝐴𝑓í𝑛ሺ𝑏0 , 𝑏1 , …,
𝑏𝑚 ) = 𝑆 + 𝑏0 con
𝑆 = 𝐴𝑓í𝑛 0, 𝑏1 − 𝑏0 , … , 𝑏𝑚 − 𝑏0
Por tanto, 𝑏0 , 𝑏1 , …, 𝑏𝑚 son afínmente independientes sí, y sólo si, 𝑏1 −
𝑏0 , … , 𝑏𝑚 − 𝑏0 son linealmente independientes.
CONJUNTOS CONVEXOS
Conjuntos convexos
Un subconjunto S de 𝑅𝑛 es convexo sí, y sólo si, contiene los segmentos de
recta que conectan cualquier par de sus puntos; es decir:
∀𝑥 1 , 𝑥 2 ∈ 𝑆, ∀𝜆 ∈ 0,1 , 𝑥 1 + 𝜆 𝑥 2 − 𝑥 1 ∈ 𝑆
Propiedad
Un conjunto afín es convexo. Lo contrario no es cierto.
Cualquier semiespacio es un conjunto convexo.
La intersección de conjuntos convexos es un conjunto convexo.
Poliedro
Un subconjunto P de 𝑅𝑛 es un poliedro sí, y sólo si, P es intersección de un
número finito de semiespacios.
Cualquier poliedro es un conjunto convexo. Lo contrario no es cierto.

Combinación lineal convexa


Dados 𝑥 1 , 𝑥 2 , … , 𝑥 𝑚 ∈ 𝑅𝑛 , el vector 𝜆1 𝑥 1 + 𝜆2 𝑥 2 + … + 𝜆𝑚 𝑥 𝑚 = σ𝑚
𝑗=1 𝜆𝑗 𝑥 , con 𝜆𝑗 ≥
𝑗

𝑗=1 𝜆𝑗 = 1, es una combinación lineal convexa.


0, σ𝑚
Es evidente que una combinación lineal no negativa y afín es una
combinación lineal convexa.
CONJUNTOS CONVEXOS
Definición
∀𝑆 ⊆ 𝑅𝑛 , denotamos por 𝐻 𝑆 (envoltura convexa de 𝑆 ) al conjunto de
todas las combinaciones lineales convexas formadas con vectores de 𝑆.

𝑆⊊𝐻 𝑆 𝑆⊊𝐻 𝑆 𝑆=𝐻 𝑆

Proposición
𝐻 𝑆 es convexo y 𝑆 ⊆ 𝐻 𝑆 .
Si 𝑆 es convexo, 𝑆 = 𝐻 𝑆 .
Demostración
1) Dadas dos combinaciones lineales convexas σ𝑚 𝑗=1 𝛿𝑗 𝑥
𝑗 y σ𝑟 𝛾 𝑦 𝑗 , ∀𝜆 ∈
𝑗=1 𝑗
0,1 , 𝜆 σ𝑗=1 𝛿𝑗 𝑥 𝑗 + 1 − 𝜆 σ𝑗=1 𝛾𝑗 𝑦 𝑗 es una combinación lineal convexa ya
𝑚 𝑟

que 𝜆𝛿𝑗 ∈ 0,1 , 1 − 𝜆 𝛾𝑗 ∈ 0,1 y σ𝑚 𝑗=1 𝜆𝛿𝑗 + σ𝑗=1 1 − 𝜆 𝛾𝑗 = 1. Por tanto, 𝐻 𝑆 es


𝑟

convexo.
Además, ∀𝑥 ∈ 𝑆, 𝑥 = 1𝑥 ∈ 𝐻 𝑆 y, por ello, 𝑆 ⊆ 𝐻 𝑆 .
2) Para demostrar que, si 𝑆 es convexo, 𝐻 𝑆 ⊆ 𝑆, procedamos por inducción
sobre el número de vectores, k, de 𝑆 usados en cualquier combinación
lineal convexa σ𝑘𝑗=1 𝛿𝑗 𝑥 𝑗 , con 𝛿𝑗 ≥ 0 y σ𝑘𝑗=1 𝛿𝑗 = 1.
CONJUNTOS CONVEXOS
- Cuando k=1, es cierto que σ𝑘𝑗=1 𝛿𝑗 𝑥 𝑗 = 𝑥 1 ∈ 𝑆.
- Admitimos que es cierto para 𝑘 − 1; es decir, σ𝑘−1𝑗=1 𝛿𝑗 𝑥 ∈ 𝑆, siempre que 𝛿𝑗 ≥
𝑗

0, 𝑗 = 1, … , 𝑘 − 1, y σ𝑘−1
𝑗=1 𝛿𝑗 = 1.
- Para σ𝑘𝑗=1 𝛿𝑗 𝑥 𝑗 , supongamos, sin pérdida de generalidad, que 𝛿𝑘 ∈ 0,1 .
Hacemos:
𝑘 𝑘 𝑘−1
𝛿𝑗 𝛿𝑗
෍ 𝛿𝑗 𝑥 𝑗 = 1 − 𝛿𝑘 ෍ 𝑥 𝑗 = 𝛿𝑘 𝑥 𝑘 + 1 − 𝛿𝑘 ෍ 𝑥𝑗
1 − 𝛿𝑘 1 − 𝛿𝑘
𝑗=1 𝑗=1 𝑗=1

𝛿𝑗 𝛿 1−𝛿
Como ≥ 0, 𝑗 = 1, . . . , 𝑘 − 1 , y σ𝑘−1
𝑗=1 1−𝛿 = 1−𝛿 = 1 , por el principio de
𝑗 𝑘
1−𝛿𝑘 𝑘 𝑘
𝛿𝑗
inducción 𝑦 = σ𝑘−1
𝑗=1 1−𝛿 𝑥
𝑗
∈ 𝑆 . Esto hace que, al ser S convexo, 𝛿𝑘 𝑥 𝑘 +
𝑘
1 − 𝛿𝑘 𝑦 ∈ 𝑆.
CONJUNTOS CONVEXOS

Definición
𝑥ҧ ∈ 𝑆, conjunto convexo, es un punto extremo (vértice), sí, y sólo si, 𝑥ҧ no
puede ponerse como combinación lineal convexa de dos vectores distintos de
S.

En el siguiente conjunto convexo se resaltan los puntos extremos:

Definición
La envoltura convexa de un conjunto finito de vectores se denomina
politopo. Si los vectores 𝑏0 , 𝑏1 , …, 𝑏𝑚 son afínmente independientes, la
envoltura convexa se denomina simplex (de dimensión m). 𝑏0 , 𝑏1 , …, 𝑏𝑚
son los vértices del simplex.
La dimensión de un conjunto convexo es la de su envoltura afín. Se puede
demostrar que dicha dimensión es el máximo (supremo) de las
correspondientes a los simplex contenidos en él.
POLIEDROS ESTÁNDAR
La forma estándar de un poliedro viene dada por {𝑥 ∈ 𝑅𝑛 |𝐴𝑥 = 𝑏, 𝑥 ≥ 0} . Un
poliedro estándar es un conjunto convexo y cerrado.
Proposición
A cualquier poliedro le corresponde uno equivalente expresado en la forma
estándar.
Demostración
Un poliedro P es una intersección finita de semiespacios (por ejemplo, m).
Por tanto, tendrá la forma 𝑃 = {𝑥 ∈ 𝑅𝑛 | σ𝑛𝑗=1 𝑎𝑖𝑗 𝑥𝑗 ≤ 𝑏𝑖 , 𝑖 = 1, … , 𝑘, σ𝑛𝑗=1 𝑎𝑖𝑗 𝑥𝑗 ≥ 𝑏𝑖 , 𝑖 =
𝑘 + 1, … , 𝑚, 𝑥𝑗 ≥ 0, ∀𝑗 ∈ 𝐽1 , 𝑥𝑗 ≤ 0, ∀𝑗 ∈ 𝐽2 }, con 𝐽1 , 𝐽2 ⊆ {1, … , 𝑛}, 𝐽1 ∩ 𝐽2 = ∅.
Las desigualdades σ𝑛𝑗=1 𝑎𝑖𝑗 𝑥𝑗 ≤ 𝑏𝑖 se pueden convertir en igualdades añadiendo
una variable 𝑥𝑛+𝑖 ≥ 0 . Por otra parte, las inecuaciones σ𝑛𝑗=1 𝑎𝑖𝑗 𝑥𝑗 ≥ 𝑏𝑖 son
convertidas en ecuaciones restando una variable 𝑥𝑛+𝑖 ≥ 0 . Las nuevas
variables son denominadas variables de holgura.
Además, −𝑥𝑗 ≥ 0, ∀𝑗 ∈ 𝐽2 ; es decir, se cambia 𝑥𝑗 por −𝑥𝑗 , ∀𝑗 ∈ 𝐽2 .
Si 𝑗 ∈ 1, … , 𝑛 − 𝐽1 ∪ 𝐽2 , definimos las nuevas variables no negativas:
𝑥𝑗 , 𝑠𝑖 𝑥𝑗 ≥ 0 − −𝑥𝑗 , 𝑠𝑖 𝑥𝑗 ≤ 0
𝑥𝑗+ = ൝ ,𝑥𝑗 = ൝
0, 𝑠𝑖 𝑥𝑗 < 0 0, 𝑠𝑖 𝑥𝑗 > 0
𝑥𝑗 se puede sustituir por la diferencia 𝑥𝑗+ − 𝑥𝑗− .
En definitiva, añadiendo las variables necesarias y, en consecuencia,
aumentando la dimensión, se puede reconvertir la expresión de P a una
equivalente forma estándar.
FUNDAMENTOS DE LA P.L.
Un problema de Programación lineal consiste en optimizar (minimizar o
maximizar) una función lineal en un conjunto determinado por inecuaciones
o ecuaciones lineales; es decir, un poliedro cerrado. Como cualquier poliedro
puede ser expresado en la forma estándar, en el caso de mínimo, un
problema de Programación Lineal vendrá dado por:
min 𝑐 𝑡 𝑥
𝑠. 𝑎: 𝐴𝑥 = 𝑏
𝑥≥0
La región factible viene dada por el poliedro estándar:
𝑆 = {𝑥 ∈ 𝑅𝑛 |𝐴𝑥 = 𝑏, 𝑥 ≥ 0}.

Cualquier problema de Programación Lineal cuya región factible sea un


poliedro estándar, será denominado estándar. La argumentación anterior nos
indica que, bajo esta forma, no referimos a cualquier problema de
Programación Lineal.
Como nos interesa estudiar los problemas de Programación Lineal, debemos
estudiar las propiedades de los poliedros estándar.
Supondremos que en 𝑆 = {𝑥 ∈ 𝑅𝑛 |𝐴𝑥 = 𝑏, 𝑥 ≥ 0}, la matriz A es de dimensión
𝑚 × 𝑛 y que tiene rango máximo coincidente con el número de filas; es decir
𝑟𝑎𝑛𝑔𝑜 𝐴 = min 𝑚, 𝑛 = 𝑚.
FUNDAMENTOS DE LA P.L.
Proposición
𝑥 es un punto extremo de S sí, y sólo si, 𝐴 = 𝐵, 𝑁 , con 𝐵 submatriz cuadrada
𝑥𝐵 𝐵 −1
𝑏 .
no singular de A, tal que 𝐵 𝑏 ≥ 0, 𝑥 = 𝑥 =
−1
𝑁 0
Si 𝐴 = 𝐵, 𝑁 , con 𝐵 submatriz cuadrada no singular de A, diremos que B es
una base. El número de bases distintas es, obviamente, finito y está acotado
𝑛
por . Como una consecuencia de la proposición anterior, el número de
𝑚
puntos extremos de un problema de Programación lineal es también finito y
𝑛
está acotado por .
𝑚
Ejemplo
Para el problema:
min 2𝑥1 + 3𝑥2 − 𝑥3
𝑠. 𝑎: −𝑥1 + 2𝑥2 + 4𝑥3 = 12
2𝑥1 − 𝑥2 +2𝑥3 = 16
𝑥1 , 𝑥2 , 𝑥3 ≥ 0
−1 2 4 −1 2 1/3 2/3
Si 𝐴 = = 𝐵, 𝑁 , donde 𝐵 = , con 𝐵 −1 = ,
2 −1 2 2 −1 2/3 1/3
44 40
tenemos un punto extremo de coordenadas , ,0 .
3 3

Proposición
Si 𝑆 ≠ ∅, entonces en 𝑆 hay, al menos, un punto extremo.
FUNDAMENTOS DE LA P.L.

Debemos notar, sin embargo, que el número de puntos extremos puede


ser muy grande con valores de n y m habituales en problemas prácticos. A
modo de ejemplo, consideramos la siguiente tabla de número máximo de
puntos extremos para valores de n (primera fila) y m (primera columna):

m\n 100 200 300 400 500


10 1,73103E+13 2,2451E+16 1,3983E+18 2,5798E+19 2,4581E+20
30 2,93723E+25 4,0968E+35 1,7319E+41 1,4249E+45 1,4453E+48
50 1,00891E+29 4,5386E+47 3,1127E+57 1,7036E+64 2,3144E+69
70 2,93723E+25 1,0181E+55 3,2932E+69 1,8929E+79 4,439E+86
90 1,73103E+13 3,3422E+58 1,9466E+78 1,9896E+91 1,067E+101
FUNDAMENTOS DE LA P.L.
En 𝑆 = {𝑥 ∈ 𝑅𝑛 |𝐴𝑥 = 𝑏, 𝑥 ≥ 0} , cualquier descomposición de 𝐴 = 𝐵, 𝑁 , con 𝐵
submatriz cuadrada no singular de A, determina una solución básica de 𝐴𝑥 =
𝑥𝐵 𝐵 −1
𝑏 . Si, además, 𝐵 −1 𝑏 ≥ 0, tendremos una solución básica
𝑏, 𝑥 = 𝑥 =
𝑁 0
factible; es decir, un punto extremo.
Las variables cuyas columnas componen B se conocen como variables
básicas. El resto son variables no básicas. Usaremos 𝐵, 𝑁 para referirnos,
indistintamente, a la descomposición de A o a los conjuntos de índices de
variables básicas y no básicas.

Direcciones
𝑑 ∈ 𝑅𝑛 − 0 es una dirección de 𝑆 = {𝑥 ∈ 𝑅𝑛 |𝐴𝑥 = 𝑏, 𝑥 ≥ 0} en 𝑥ҧ ∈ 𝑆, sí, y sólo si,
∀𝜆 ≥ 0, 𝑥ҧ + 𝜆𝑑 ∈ 𝑆.

Diremos que 𝑑 ∈ 𝑅𝑛 − 0 es una dirección de 𝑆 cuando es una dirección en


cada uno de los puntos de S.

Por tanto,𝑑 ∈ 𝑅𝑛 − 0 es una dirección de 𝑆, sí, y sólo si, ∀𝑥 ∈ 𝑆, 𝐴 𝑥 + 𝜆𝑑 =


𝑏, 𝑥 + 𝜆𝑑 ≥ 0, ∀𝜆 ≥ 0; es decir 𝐴𝑑 = 0, 𝑑 ≥ 0.

Dos direcciones de S, 𝑑1 , 𝑑 2 , son iguales, sí, y sólo si, ∃𝛼 ∈ 𝑅, 𝛼 > 0, tal que
𝑑1 = α𝑑 2 . En otro caso, 𝑑1 y 𝑑 2 son distintas.
FUNDAMENTOS DE LA P.L.
Ejemplo
Para el conjunto definido por:
2𝑥1 + 𝑥2 − 4𝑥3 = 12
2𝑥1 − 𝑥2 = 16
𝑥1 , 𝑥2 , 𝑥3 ≥ 0
una dirección en 8,0,1 es 𝑑 = 1,2,1 ya que:
𝑡
1
2 1 −4 0
𝐴𝑑 = 2 = 𝑦𝑑≥0
2 −1 0 0
1
Dirección extrema
𝑑ҧ ∈ 𝑅𝑛 − 0 es una dirección extrema de S, sí, y sólo si, 𝑑ҧ no puede
expresarse como combinación lineal positiva de dos direcciones distintas de
S.
Las direcciones extremas de poliedros se pueden caracterizar de la forma
siguiente:

Proposición
𝑑ҧ ∈ 𝑅𝑛 − 0 es una dirección extrema de S sí, y sólo si, existe una
descomposición de 𝐴 = 𝐵, 𝑁 , con 𝐵 submatriz cuadrada no singular de A, de
−1 𝑠
orden m , y ∃𝑠 ∈ 𝑁 tal que 𝐵 −1 𝑎 𝑠 ≤ 0 y 𝑑ҧ = 𝛼 −𝐵 𝑠 𝑎 , con 𝛼 > 0 y 𝑒 𝑠 vector
𝑒
unitario de la coordenada s-ésima de 𝑅 𝑛−𝑚
.
FUNDAMENTOS DE LA P.L.
Ejemplo
Para el conjunto definido por:
𝑥1 − 4𝑥3 = 12
𝑥2 − 2𝑥3 = 16
𝑥1 , 𝑥2 , 𝑥3 ≥ 0
una dirección extrema en 12,16,0 es 𝑑ҧ 𝑡 = 4,2,1 .

El conjunto de direcciones extremas de un poliedro es finito y está acotado


por:
𝑛
𝑛−𝑚
𝑚
Uno de los resultados fundamentales sobre los que se apoya la Programación
Lineal, es el siguiente: “cualquier punto de un poliedro se puede expresar
como una combinación lineal convexa de puntos extremos más una
combinación lineal no negativa de direcciones extremas”.
FUNDAMENTOS DE LA P.L.

De forma similar a lo realizado para los puntos extremos, la siguiente


tabla contiene cotas superiores para el número de direcciones extremas al
considerar distintos valores para n y m:

m\n 100 200 300 400 500


10 1,55793E+15 4,2657E+18 4,0551E+20 1,0061E+22 1,2045E+23
30 2,05606E+27 6,9646E+37 4,6762E+43 5,2721E+47 6,7927E+50
50 5,04457E+30 6,8079E+49 7,7818E+59 5,9626E+66 1,0415E+72
70 8,8117E+26 1,3235E+57 7,5743E+71 6,2466E+81 1,9088E+89
90 1,73103E+14 3,6764E+60 4,0879E+80 6,1676E+93 4,376E+103
FUNDAMENTOS DE LA P.L.
Sean 𝑥 1 , … , 𝑥 𝑘 y 𝑑1 , … , 𝑑 𝑙 , respectivamente, los conjuntos de puntos
extremos y de direcciones extrema de un poliedro estándar S.
Proposición
𝑥 ∈ 𝑆 = {𝑥 ∈ 𝑅𝑛 |𝐴𝑥 = 𝑏, 𝑥 ≥ 0} ⟺ ∃𝜆1 , … , 𝜆𝑘 ≥ 0, σ𝑘𝑗=1 𝜆𝑗 = 1 , tal que 𝑥 =
σ𝑘𝑗=1 𝜆𝑗 𝑥 𝑗 + 𝑑, siendo d una dirección de S o 𝑑 = 0

Direc. factible
Sol. factible

Cono de direcciones

Envoltura convexa de puntos extremos


FUNDAMENTOS DE LA P.L.
RESOLUCIÓN GRÁFICA
Ejemplo

min −2𝑥1 − 3𝑥2


𝑥1 + 𝑥2 ≤ 3
−𝑥1 + 2𝑥2 ≤ 10
𝑥1 − 4𝑥2 ≤ 4
𝑥1 ≥ 0, 𝑥2 ≥ 0 (0,5)

(5,3)
(0,3) (2,2)

(3,0)

(0,0) (4,0)

5 1 0 1 0 1 4 1 1 1
= + + + 2 +4
3 4 5 4 3 2 0 2 1/2 1/4
FUNDAMENTOS DE LA P.L.
Como cualquier dirección de S se puede expresar como combinación lineal no
negativa de sus direcciones extremas, el resultado anterior se puede
reescribir en la forma:
𝑥 ∈ 𝑆 = {𝑥 ∈ 𝑅𝑛 |𝐴𝑥 = 𝑏, 𝑥 ≥ 0} ⟺ ∃𝜆1 , … , 𝜆𝑘 ≥ 0, σ𝑘𝑗=1 𝜆𝑗 = 1, ∃𝜇1 , … , 𝜇𝑙 ≥ 0 tales que
𝑥 = σ𝑘𝑗=1 𝜆𝑗 𝑥 𝑗 + σ𝑙𝑗=1 𝜇𝑗 𝑑 𝑗
TEMA 4: EL MÉTODO SIMPLEX
Resultados básicos.
El Método Simplex.
Tablas.
Determinación de una solución básica inicial.
Reglas para eliminar ciclado.

En este tema se estudia el Método Simplex. Después de la preparación


inicial, con la exposición de algunos resultados básicos, damos un esquema
del algoritmo y desarrollamos su aplicación. Se introducen tablas que
ayudan a realizar los correspondientes cálculos.
Se afronta la determinación de una solución básica factible inicial usando
los métodos de las Dos Fases y de Penalización. Ambos permiten la
eliminación (en su caso) de las variables artificiales que haya sido
necesario añadir para iniciar la aplicación del algoritmo.
Se comprueba que el Método Simplex progresa por las aristas del poliedro.
Por último, se estudia el posible ciclado y su eliminación.
RESULTADOS BÁSICOS
Sea 𝑆 = {𝑥 ∈ 𝑅𝑛 |𝐴𝑥 = 𝑏, 𝑥 ≥ 0} la región factible de un problema de
Programación Lineal de mínimo en la forma estándar:
𝑚𝑖𝑛 𝑐 𝑡 𝑥
𝑠. 𝑎: 𝐴𝑥 = 𝑏 (𝑃)
𝑥≥0
Sea 𝑥 ∈ 𝑆. Entonces:
𝑐 𝑡 𝑥 = σ𝑘𝑗=1 𝜆𝑗 𝑐 𝑡 𝑥 𝑗 + σ𝑙𝑗=1 𝜇𝑗 𝑐 𝑡 𝑑 𝑗 ≥ σ𝑘𝑗=1 𝜆𝑗 𝑐 𝑡 𝑥 𝑗 ≥ 𝑐 𝑡 𝑥 𝑗0 , siendo 𝑐 𝑡 𝑥 𝑗0 = min 𝑐 𝑡 𝑥 𝑗 , sí, y
𝑗
sólo si, 𝑐 𝑡 𝑑 𝑗 ≥ 0, ∀𝑗 ∈ 1, … , 𝑙 .

Proposición
(𝑃) tiene solución óptima, y se alcanza en un punto extremo, sí, y sólo si,
𝑐 𝑡 𝑑 𝑗 ≥ 0, ∀𝑗 ∈ 1, … , 𝑙 .

Supongamos entonces que 𝑥ҧ ∈ 𝑆 es un punto extremo. Sabemos que existe


una descomposición de 𝐴 = 𝐵, 𝑁 , 𝐵 no singular de orden m, tal que 𝐵 −1 𝑏 ≥ 0
𝑥ҧ𝐵 𝐵 −1 𝑏
y 𝑥ҧ = = . Por tanto, 𝑐 𝑡 𝑥ҧ = 𝑐𝐵𝑡 𝐵−1 𝑏.
𝑥ҧ𝑁 0
RESULTADOS BÁSICOS
Para cualquier solución factible 𝑥 ∈ 𝑆, podemos hacer que 𝑐 𝑡 𝑥 = 𝑐𝐵𝑡 𝑥𝐵 + 𝑐𝑁𝑡 𝑥𝑁 .
Como 𝐵𝑥𝐵 + 𝑁𝑥𝑁 = 𝑏, 𝑥𝐵 = 𝐵 −1 𝑏 − 𝐵 −1 𝑁𝑥𝑁 . Sustituyendo:
𝑐 𝑡 𝑥 = 𝑐𝐵𝑡 𝐵 −1 𝑏 − 𝐵 −1 𝑁𝑥𝑁 + 𝑐𝑁𝑡 𝑥𝑁 = 𝑐𝐵𝑡 𝐵−1 𝑏 + 𝑐𝑁𝑡 − 𝑐𝐵𝑡 𝐵 −1 𝑁 𝑥𝑁
Si 𝑐𝑁
ҧ𝑡 = 𝑐𝑁𝑡 − 𝑐𝐵𝑡 𝐵−1 𝑁, 𝑐 𝑡 𝑥 = 𝑐 𝑡 𝑥ҧ + 𝑐𝑁
ҧ𝑡 𝑥𝑁

Definición
En referencia a un punto extremo 𝑥ҧ ∈ 𝑆, el vector de costos relativos viene
determinado por 𝑐ҧ𝑡 = 𝑐 𝑡 − 𝑐𝐵𝑡 𝐵 −1 𝐴.
Los costos relativos de variables básicas son iguales a cero. El costo relativo
de una variable no básica es el incremento, que se produce respecto de 𝑐 𝑡 𝑥ҧ
(el valor de la función objetivo en el punto extremo actual), por unidad
incrementada de dicha variable.
Proposición
Supongamos que 𝑥ҧ ∈ 𝑆 es un punto extremo. 𝑥ҧ es una solución óptima de (𝑃)
sí, y sólo si, 𝑐𝑁
ҧ ≥ 0. (En el caso de un problema estándar de máximo, 𝑥ҧ es
una solución óptima de (𝑃) sí, y sólo si, 𝑐𝑁
ҧ ≤ 0).
RESULTADOS BÁSICOS

Un método de resolución de un problema de Programación Lineal


debe realizar una búsqueda eficiente dentro del conjunto de puntos
extremos. Partiendo de uno de estos, a través de los costos relativos
se podrá determinar si es óptimo o no. Si no es óptimo, se buscará un
punto extremo mejor que el actual. Como la optimalidad falla porque
hay al menos un costo relativo de una variable no básica que es
negativo (en el caso de mínimo), incrementando dicha variable se
podrá intentar encontrar una solución mejor. Si dicha solución es un
punto extremo, se comprobará si es óptimo o no y, en su caso, se
repetirá la búsqueda anterior. Este proceso será necesariamente finito
ya que el conjunto de puntos extremos es finito.
Por tanto, si 𝑥ҧ no es un punto extremo óptimo de 𝑃 , ∃𝑠 ∈ 𝑁 tal que
𝑐𝑠ҧ < 0. Interesa incrementar el valor actual de la variable no básica 𝑥𝑠 ;
es decir, haremos 𝑥𝑠 = 𝜆 ≥ 0. Si 𝑥 ∈ 𝑅𝑛 es el nuevo punto:

𝑥ҧ𝐵 −𝐵 −1 𝑎 𝑠 𝐵 −1 𝑏 − 𝜆𝐵 −1 𝑎 𝑠
𝑥= +𝜆 =
𝑥ҧ𝑁 𝑒𝑠 𝜆𝑒 𝑠
RESULTADOS BÁSICOS
Está claro que:
−1 −1 𝑎 𝑠
𝑐 𝑡 𝑥 = 𝑐 𝑡 𝐵 𝑏 − 𝜆𝐵 𝑠 = 𝑐 𝑡 𝑥ҧ + 𝜆𝑐𝑠ҧ
𝜆𝑒
𝐵 −1 𝑏 − 𝜆𝐵 −1 𝑎 𝑠
𝐴 =𝑏
𝜆𝑒 𝑠
Además:
−1 𝑠 −1 −1 𝑠
▪ Si 𝐵 𝑎 ≤ 0,
−1 𝑠 −𝐵 𝑎 es una dirección extrema y 𝐵 𝑏 − 𝜆𝐵 𝑎 ≥ 0, ∀𝜆 ≥
𝑒𝑠 𝜆𝑒 𝑠
0. En este caso, se detecta la no acotación del problema.
𝑏ത
▪ Si 𝐵 −1 𝑎 𝑠 ≰ 0, calculamos 𝜆ҧ = min 𝑦 𝑖 |𝑦𝑖𝑠 > 0 , siendo 𝑏ത = 𝐵 −1 𝑏 e 𝑦 𝑠 = 𝐵 −1 𝑎 𝑠 .
𝑖 𝑖𝑠

Resulta que 𝐵 −1 𝑏
− 𝜆𝐵 −1 𝑎 𝑠
≥ 0, ∀𝜆 ∈ 0, 𝜆ҧ .
𝜆𝑒 𝑠
𝐵 −1 𝑏 − 𝜆𝐵ҧ −1 𝑎 𝑠
Por la argumentación anterior, interesa considerar el punto .
ҧ 𝑠
𝜆𝑒

Proposición
𝐵 −1 𝑏 − 𝜆𝐵ҧ −1 𝑎 𝑠
𝑥′ = es un punto extremo.
ҧ 𝑠
𝜆𝑒
RESULTADOS BÁSICOS

Demostración
Por el razonamiento anterior, 𝑥′ ∈ 𝑆.
𝑏ത
Además, 𝑥′ tiene, a lo sumo, m componentes positivas ya que si 𝜆ҧ = 𝑦 𝑟 =
𝑟𝑠
𝑏ത 𝑖 𝑏ത𝑟
min |𝑦
𝑦𝑖𝑠 𝑖𝑠
> 0 , 𝑥𝑟′ = 𝑏ത𝑟 − 𝑦
𝑦𝑟𝑠 𝑟𝑠
= 0.
𝑖
Las columnas asociadas a los índices 1, … , 𝑟 − 1, 𝑟 + 1, … , 𝑚 ∪ 𝑠 forman una
base 𝐵′ .
Para demostrar esto último, observemos que
𝑦1𝑠 𝑚

𝑎 𝑠 = 𝐵𝑦 𝑠 = 𝑎1 , … , 𝑎𝑚 … = ෍ 𝑦𝑖𝑠 𝑎𝑖
𝑦𝑚𝑠 𝑖=1
Sabemos que 𝑦𝑟𝑠 > 0.
Supongamos que σ𝑖≠𝑟 𝜇𝑖 𝑎𝑖 + 𝜇𝑎 𝑠 = 0 . Sustituyendo, tenemos que σ𝑖≠𝑟 𝜇𝑖 𝑎𝑖 +
𝑖=1 𝑎 𝑦𝑖𝑠 = σ𝑖≠𝑟 𝜇𝑖 + 𝜇𝑦𝑖𝑠 𝑎 + 𝜇𝑦𝑟𝑠 𝑎 = 0. Al ser 𝑎 , … , 𝑎
𝜇 σ𝑚 𝑖 𝑖 𝑟 1 𝑚 una base y como

𝑦𝑟𝑠 > 0, 𝜇𝑖 = 𝜇 = 0. Esto indica que, también, 𝐵′ = 𝑎1 , … , 𝑎𝑟−1 , 𝑎𝑟−1 , … , 𝑎𝑚 , 𝑎 𝑠 es


una base.
MÉTODO SIMPLEX
La búsqueda de una solución óptima a un problema de Programación Lineal
consistiría en realizar un recorrido eficiente por un subconjunto de bases
hasta detectar una base óptima. En otras palabras, si nos referimos a las
correspondientes soluciones, debemos realizar un recorrido por un
subconjunto de soluciones básicas factibles hasta detectar la optimalidad.
Hay que recordar que en ausencia de degeneración, existe una
correspondencia biunívoca entre soluciones básicas factibles y puntos
extremos. En el caso degenerado, a un mismo punto extremo le pueden
corresponder más de una base y, por tanto, tiene asociadas más de una
solución básica factible.
Como el protagonismo en la búsqueda que apuntamos es el de las diferentes
bases que podemos determinar, es lógico que sustituyamos puntos extremos
por las correspondientes soluciones básicas factibles.
Un algoritmo (método, procedimiento,…) parte de una situación inicial
(inicio, punto de partida, punto de arranque,…) y, de acuerdo a unas reglas
preestablecidas, implementa algún tipo de eficiencia durante un número
finito de iteraciones que concluyen por la aplicación de una regla de
parada.
En el caso que nos ocupa, el Método Simplex parte de una solución básica
factible inicial y, si no detecta optimalidad o no acotación, itera hacia una
solución básica factible mejor. El nombre de Simplex hace honor a la
denominación genérica del conjunto de puntos donde se trabaja.
MÉTODO SIMPLEX
Este algoritmo, introducido por G. B. Dantzig en el verano de 1947, resuelve
cualquier problema de Programación Lineal utilizando conceptos y
propiedades relacionados previamente.
Un esquema del algoritmo es el siguiente
Inicio
Determinar una solución básica factible inicial.
Mientras
La solución básica factible actual no sea óptima, si no se
detecta la no acotación del problema, realizar las
correspondientes operaciones para determinar una nueva
solución básica factible mejor
El paso de una solución básica factible a otra (el cambio de base) es
conocido como operación de pivotaje.
Soluciones básicas adyacentes
Si una solución básica se obtiene a partir de otra realizando un pivotaje, se
dice que ambas soluciones básicas son adyacentes. Por tanto, dos soluciones
básicas adyacentes tienen, exactamente, una variable básica distinta.
El método simplex progresa generando en cada iteración una solución básica
factible que es adyacente a la anterior y a la siguiente.
La operación de pivotaje intercambia el estatus entre una variable básica y
una variable no básica. Se dice que la primera sale de la base y que la
segunda entra en la base.
TABLAS Y APLICACIÓN DEL MÉTODO
Organización del trabajo de aplicación
La identificación de una solución básica factible, el cálculo de los costos
relativos, la detección de la optimalidad, y, cuando corresponda, la selección
de una variable candidata a ser básica, la determinación de la no acotación y
la realización del pertinente pivotaje, son tareas específicas de la aplicación
del Método Simplex. Para acometerlas en un contexto docente, es
interesante disponerlas sobre una tabla en la que se produce la conversión
de un problema de Programación Lineal a un sistema de ecuaciones. Sobre
dicha tabla, las operaciones que se realizan antes de la conclusión que
corresponda, generan un número finito de expresiones equivalentes del
sistema.
Tabla
Para el problema: min 4𝑥1 − 2𝑥2 + 2𝑥3
s. 𝑎: 6𝑥2 + 𝑥3 = 4
𝑥1 − 𝑥2 =2
𝑥1 ≥ 0, 𝑥2 ≥ 0, 𝑥3 ≥ 0

Construiremos la siguiente tabla:


V. Básicas 𝑥1 𝑥2 𝑥3 -z Constantes
𝑥3 0 6 1 0 4
𝑥1 1 -1 0 0 2
-z 4 -2 2 1 0
TABLAS Y APLICACIÓN DEL MÉTODO
La primera fila describe las columnas de variables básicas, coeficientes de las
distintas variables y constantes.
Las filas segundas y terceras contienen los coeficientes de las dos ecuaciones
de la región factible.
En la cuarta fila aparecen los coeficientes de la ecuación :

4𝑥1 − 2𝑥2 + 2𝑥3 − 𝑧 = 0

Si, en la tabla anterior, restamos a la tercera fila la suma de la primera


multiplicada por 2 más la segunda multiplicada por 4, obtenemos:

V. Básicas 𝑥1 𝑥2 𝑥3 -z Constantes
𝑥3 0 6 1 0 4
𝑥1 1 -1 0 0 2
-z 0 -10 0 1 -16
Nota:
Como regla general, cuando en una tabla equivalente a la inicial en la que
aparece la descripción de una solución básica, los coeficientes de las
variables básicas de la última ecuación son ceros, los que corresponden en
esa fila a variables no básicas son los respectivos costos relativos. Además,
la constante asociada a dicha última fila es igual al valor, cambiado de signo,
que alcanza la función objetivo para la solución básica actual.
TABLAS Y APLICACIÓN DEL MÉTODO
La variable no básica 𝑥2 , con costo relativo igual a -10, es candidata a
convertirse en variable básica. Según argumentamos anteriormente,
sustituye a 𝑥3 . Esto supone que la tabla anterior se debe transformar en otra
equivalente en la que la columna asociada a 𝑥2 sea exactamente la que
ahora corresponde a 𝑥3 .
Por tanto, la nueva tabla es:

V. Básicas 𝑥1 𝑥2 𝑥3 -z Constantes
𝑥2 0 1 1/6 0 2/3
𝑥1 1 0 1/6 0 8/3
-z 0 0 5/3 1 -28/3
Como los costos relativos de todas las variables no básicas son no negativos,
la solución básica que aparece en la última tabla es óptima.
Ejemplo
Resolver el problema:

min −4𝑥1 − 2𝑥2 + 2𝑥3 + 𝑥4 − 𝑥5


s. 𝑎: 2𝑥1 − 2𝑥2 + 4𝑥3 + 𝑥4 = 10
−𝑥1 + 4𝑥2 − 2𝑥3 + 𝑥5 = 16
𝑥𝑗 ≥ 0, ∀𝑗 ∈ 1, … , 5
TABLAS Y APLICACIÓN DEL MÉTODO
Solución
La tabla asociada es:
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -z Constantes
𝑥4 2 -2 4 1 0 0 10
𝑥5 -1 4 -2 0 1 0 16
-z -4 -2 2 1 -1 1 0
En esta tabla el bloque central describe una solución básica (con 𝑥4 y 𝑥5
como variables básicas), pero en la última fila no aparecen los costos
relativos.
Si a la última fila restamos la segunda y, luego, sumamos la tercera,
obtenemos:
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -z Constantes
𝑥4 2 -2 4 1 0 0 10
𝑥5 -1 4 -2 0 1 0 16
-z -7 4 -4 0 0 1 6
En la última fila aparecen los costos relativos y el valor objetivo (cambiado
de signo) asociados a la solución básica factible actual. Se observa que esta
solución no es óptima. La conversión de 𝑥1 o de 𝑥3 en variables básicas haría
decrecer el valor objetivo actual ya que ambas tienen costos relativos
negativos. La regla de selección de la variable no básica con costo relativo
mínimo (caso de mínimo) es conocida como Regla de Dantzig. Según esta
regla, es 𝑥1 la variable seleccionada para convertirse en básica. Operando
como hemos indicado anteriormente, 𝑥4 dejará de ser básica:
TABLAS Y APLICACIÓN DEL MÉTODO

V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -z Constantes
𝑥1 1 -1 2 1/2 0 0 5
𝑥5 0 3 0 1/2 1 0 21
-z 0 -3 10 7/2 0 1 41

Ahora la variable 𝑥2 se convierte en básica sustituyendo a 𝑥5 . Obtenemos:

V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -z Constantes
𝑥1 1 0 2 2/3 1/3 0 12
𝑥2 0 1 0 1/6 1/3 0 7
-z 0 0 10 4 1 1 62

Esta última tabla contiene una solución óptima única ya que los costos
relativos de las variables no básicas son positivos.

Nota:
Cuando para una solución básica factible óptima existen costos relativos de
variables no básicas iguales a cero, existen soluciones óptimas alternativas.
CÁLCULOS POR ITERACIÓN

Supongamos que resolvemos un problema estándar de mínimo y, en una


iteración, en la que tenemos un punto extremo 𝑥, la variable 𝑥𝑠 entra en la
base, la variable 𝑥𝑟 sale de la base y obtenemos un nuevo punto extremo
𝑥 ′.
¿Cómo son las coordenadas de 𝑥 ′ ?
¿Cómo se transforman, en la nueva tabla, la columna de constantes y la
fila de costos relativos)

𝑏ത
∀𝑖 ∈ 𝐵 − 𝑟 , 𝑥𝑖′ = 𝑏ത𝑖 − 𝑦 𝑟 𝑦𝑖𝑠
𝑟𝑠
𝑏ത𝑟
𝑥𝑠′ = , 𝑥𝑟′ = 0
𝑦𝑟𝑠
𝑥𝑗′ = 0, ∀𝑗 ∈ 𝑁 − 𝑠

𝑐ҧ
∀𝑗 ∈ 𝑁 − 𝑠 , el nuevo costo relativo es 𝑐𝑗ҧ − 𝑦 𝑠 𝑦𝑟𝑗 (para 𝑥𝑠 es cero)
𝑟𝑠
𝑐ҧ
El nuevo costo relativo de 𝑥𝑟 es − 𝑦𝑠 ≥0
𝑟𝑠
El resto de variables (básicas) tienen costos relativos iguales a cero.
𝑏ത
El nuevo valor de la función objetivo es 𝑧ҧ + 𝑦 𝑟 𝑐𝑠ҧ
𝑟𝑠
NO ACOTACIÓN
Detección de la no acotación
Cuando una variable candidata a ser básica puede incrementar
indefinidamente su valor, el problema es no acotado.
Ejemplo
Resolver el problema:
min −6𝑥1 + 4𝑥2 + 𝑥3
s. 𝑎: −2𝑥1 − 2𝑥2 + 𝑥3 + 𝑥4 = 8
−𝑥1 + 2𝑥2 + 3𝑥3 + 𝑥5 = 6
𝑥𝑗 ≥ 0, ∀𝑗 ∈ 1, … , 5
Solución
La tabla asociada es:
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -z Constantes
𝑥4 -2 -2 1 1 0 0 8
𝑥5 -1 2 3 0 1 0 6
-z -6 4 1 0 0 1 0
La variable 𝑥1 debe convertirse en básica. Si 𝑥1 = λ ≥ 0, entonces :
𝑥4 = 8 + 2λ ≥ 0, 𝑥5 = 6 + λ ≥ 0
Para cualquier valor no negativo de λ.
Nota:
Cuando, en una determinada tabla, una variable candidata a ser básica tiene
una columna de términos no positivos, se detecta la no acotación del
problema.
DETERMINACIÓN DE UNA SOLUCIÓN BÁSICA FACTIBLE INICIAL

Determinación de una solución básica factible inicial


La aplicación del Método Simplex necesita una solución básica factible
inicial. Cuando en el problema que se va a resolver no existen tantas
variables básicas como ecuaciones, añadimos artificialmente las variables
básicas necesarias (variables artificiales) para disponer de una solución
básica factible inicial y aplicar el algoritmo. Como no hay que olvidar que
el problema que interesa resolver es el inicial, deben usarse mecanismos
que hagan posible (en su caso) la eliminación de las variables artificiales.
Ejemplo
Resolver el problema:

min −3𝑥1 + 2𝑥2 − 𝑥3


s. 𝑎: 2𝑥1 + 𝑥2 − 𝑥3 = 8
−2𝑥1 + 2𝑥2 + 𝑥3 = 6
𝑥𝑗 ≥ 0, ∀𝑗 ∈ 1,2,3
Solución
Son necesarias dos variables básicas que añadimos de forma artificial:

2𝑥1 + 𝑥2 − 𝑥3 + 𝑥4 =8
−2𝑥1 + 2𝑥2 + 𝑥3 + 𝑥5 = 6
𝑥𝑗 ≥ 0, ∀𝑗 ∈ 1, … , 5
MÉTODO DE LAS DOS FASES
El intento de eliminación de dichas variables( 𝑥4 y 𝑥5 ) se puede realizar, por
ejemplo, planteando el siguiente problema auxiliar:
min 𝑥4 + 𝑥5
s. 𝑎: 2𝑥1 + 𝑥2 − 𝑥3 + 𝑥4 = 8
−2𝑥1 + 2𝑥2 + 𝑥3 + 𝑥5 = 6
𝑥𝑗 ≥ 0, ∀𝑗 ∈ 1, … , 5
Se observa que en la función objetivo de este problema aparece la suma de
las variables artificiales. Este problema es el que corresponde a la Fase I de
un procedimiento denominado Método de las dos Fases. Es fácil
comprobar que el problema de la Fase I siempre tiene solución óptima.
Intentemos resolver el problema anterior aplicando el Método Simplex.
La tabla asociada es:
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -w Constantes
𝑥4 2 1 -1 1 0 0 8
𝑥5 -2 2 1 0 1 0 6
-w 0 0 0 1 1 1 0
escribiendo en la última fila :
𝑥4 + 𝑥5 − 𝑤 = 0
(𝑤 es el valor objetivo del problema de la Fase I).
Como en la tabla anterior no aparecen calculados los costos relativos, hemos
de obtener:
MÉTODO DE LAS DOS FASES
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -w Constantes
𝑥4 2 1 -1 1 0 0 8
𝑥5 -2 2 1 0 1 0 6
-w 0 -3 0 0 0 1 -14
La variable 𝑥2 se convierte en básica en sustitución de 𝑥5 . Obtenemos la
tabla:
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -w Constantes
𝑥4 3 0 -3/2 1 -1/2 0 5
𝑥2 -1 1 1/2 0 1/2 0 3
-w -3 0 3/2 0 3/2 1 -5
Ahora 𝑥1 pasa a ser básica en lugar de 𝑥4 . Se obtiene:

V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -w Constantes
𝑥1 1 0 -1/2 1/3 -1/6 0 5/3
𝑥2 0 1 0 1/3 1/3 0 14/3
-w 0 0 0 1 1 1 0

En esta tabla aparece una solución óptima para el problema de la Fase I.


Como en dicha solución óptima las variables artificiales son iguales a cero,
su eliminación de la tabla nos ofrece una solución básica para el problema
inicial. La versión equivalente de este problema sería:
MÉTODO DE LAS DOS FASES

min −3𝑥1 + 2𝑥2 − 𝑥3


1 5
s. 𝑎: 𝑥1 − 𝑥3 =
2 3
14
𝑥2 =
3
𝑥𝑗 ≥ 0, ∀𝑗 ∈ 1,2,3
Fase II
Resuelve el último problema partiendo de la solución básica factible
calculada en la Fase I. La tabla correspondiente es:

V. Básicas 𝑥1 𝑥2 𝑥3 -z Constantes
𝑥1 1 0 -1/2 0 5/3
𝑥2 0 1 0 0 14/3
-z -3 2 -1 1 0

Se observa que en la última tabla de la fase I se han borrado las columnas


correspondientes a variables artificiales y que, luego, en la última fila se ha
escrito la ecuación:
−3𝑥1 + 2𝑥2 − 𝑥3 − 𝑧 = 0

que corresponde a la función objetivo del problema inicial. Sumando a la


última fila la segunda multiplicada por 3 más la tercera multiplicada por -2,
obtenemos:
MÉTODO DE LAS DOS FASES

V. Básicas 𝑥1 𝑥2 𝑥3 -z Constantes
𝑥1 1 0 -1/2 0 5/3
𝑥2 0 1 0 0 14/3
-z 0 0 -5/2 1 -13/3
La variable 𝑥3 pretende ser básica pero, al ser no positiva la columna
actualizada de coeficientes tecnológicos, el problema inicial es no acotado.

Método de las dos Fases


Al no disponer de una solución básica factible inicial, este método usa en la
Fase I un problema auxiliar en el que se minimiza la suma de las variables
artificiales añadidas para poder aplicar el método Simplex. En el caso
general, el problema de la Fase I será:
𝑚

min ෍ 𝑥𝑛+𝑖
𝑖=1
𝑛

𝑠. 𝑎: ෍ 𝑎𝑖𝑗 𝑥𝑗 + 𝑥𝑛+𝑖 = 𝑏𝑖 , 𝑖 = 1, … , 𝑚
𝑗=1
𝑥𝑗 ≥ 0, 𝑗 = 1, … , 𝑛, 𝑥𝑛+𝑖 ≥ 0, 𝑖 = 1, … , 𝑚
MÉTODO DE LAS DOS FASES
𝑚 𝑚
Es claro que
0 ≤ 𝑤 = ෍ 𝑥𝑛+𝑖 ≤ ෍ 𝑏𝑖
𝑖=1 𝑖=1
Por tanto, el problema de la Fase I siempre tiene solución óptima para la
que 0 ≤ 𝑤
ഥ = σ𝑚 𝑚
𝑖=1 𝑥ҧ 𝑛+𝑖 ≤ σ𝑖=1 𝑏𝑖

Si 𝑤 ഥ > 0, es imposible eliminar todas las variables artificiales y, por tanto, el


problema inicial no tiene solución (Problema no factible). Si 𝑤 ഥ = 0 , al
disponer de una solución básica factible expresada en términos de las
variables del problema inicial, se puede iniciar la Fase II eliminando de la
última tabla de trabajo las variables artificiales y reescribiendo en su última
fila la ecuación que corresponde a la función objetivo inicial.
Ejemplo
Resolver el problema:
min −𝑥1 + 4𝑥2 + 2𝑥3
s. 𝑎: 2𝑥1 − 6𝑥2 − 𝑥3 = 10
−4𝑥1 + 2𝑥2 + 𝑥3 = 8
𝑥𝑗 ≥ 0, ∀𝑗 ∈ 1,2,3
Solución
Como no está disponible una solución básica factible inicial, añadimos dos
variables artificiales y planteamos el siguiente problema auxiliar:
MÉTODO DE LAS DOS FASES

min 𝑥4 + 𝑥5
s. 𝑎: 2𝑥1 − 6𝑥2 − 𝑥3 + 𝑥4 = 10
−4𝑥1 + 2𝑥2 + 𝑥3 + 𝑥5 = 8
𝑥𝑗 ≥ 0, ∀𝑗 ∈ 1, … , 5
La correspondiente tabla será:
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -w Constantes
𝑥4 2 -6 -1 1 0 0 10
𝑥5 -4 2 1 0 1 0 8
-w 0 0 0 1 1 1 0

Si incorporamos a esta tabla los costos relativos:


V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -w Constantes
𝑥4 2 -6 -1 1 0 0 10
𝑥5 -4 2 1 0 1 0 8
-w 2 4 0 0 0 1 -18

Esta tabla es óptima con valor objetivo igual a 18. Por tanto, es imposible
eliminar las variables artificiales añadidas y, por ello, el problema
planteado es no factible.
MÉTODO DE LAS DOS FASES
Obviamente, para el caso de un problema de máximo, en la fase I se
resolverá un problema de mínimo.

Ejemplo
Resolver el problema:
max −2𝑥1 + 4𝑥2 − 2𝑥3
s. 𝑎: 2𝑥1 − 4𝑥2 + 2𝑥3 = 10
−2𝑥1 + 𝑥2 + 4𝑥3 = 12
𝑥𝑗 ≥ 0, ∀𝑗 ∈ 1,2,3
Solución
Como no está disponible una solución básica factible inicial, añadimos dos
variables artificiales y planteamos el siguiente problema auxiliar:

min 𝑥4 + 𝑥5
s. 𝑎: 2𝑥1 − 4𝑥2 + 2𝑥3 + 𝑥4 = 10
−2𝑥1 + 𝑥2 + 4𝑥3 + 𝑥5 = 12
𝑥𝑗 ≥ 0, ∀𝑗 ∈ 1, … , 5

La correspondiente tabla será:


MÉTODO DE LAS DOS FASES

V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -w Constantes
𝑥4 2 -4 2 1 0 0 10
𝑥5 -2 1 4 0 1 0 12
-w 0 0 0 1 1 1 0

Calculando los costos relativos obtenemos:

V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -w Constantes
𝑥4 2 -4 2 1 0 0 10
𝑥5 -2 1 4 0 1 0 12
-w 0 3 -6 0 0 1 -22
La variable 𝑥3 se convierte en básica sustituyendo a 𝑥5 . La nueva tabla es:

V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -w Constantes
𝑥4 3 -9/2 0 1 -1/2 0 4
𝑥3 -1/2 1/4 1 0 1/4 0 3
-w -3 9/2 0 0 3/2 1 -4

La variable 𝑥1 se convierte en básica sustituyendo a 𝑥4 . La nueva tabla es:


MÉTODO DE LAS DOS FASES

V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -w Constantes
𝑥1 1 -3/2 0 1/3 -1/6 0 4/3
𝑥3 0 -1/2 1 1/6 1/6 0 11/3
-w 0 0 0 1 1 1 0
Como el problema de la fase I tiene solución óptima y las variables
artificiales han dejado de ser básicas, podemos iniciar la fase II
resolviendo el problema:
max −2𝑥1 + 4𝑥2 − 2𝑥3
3 4
s. 𝑎: 𝑥1 − 𝑥2 =
2 3
1 11
− 𝑥2 + 𝑥3 =
2 3
𝑥𝑗 ≥ 0, ∀𝑗 ∈ 1,2,3
La tabla asociada es:

V. Básicas 𝑥1 𝑥2 𝑥3 -z Constantes
𝑥1 1 -3/2 0 0 4/3
𝑥3 0 -1/2 1 0 11/3
-z -2 4 -2 1 0
MÉTODO DE PENALIZACIÓN
Si calculamos los costos relativos, obtenemos:
V. Básicas 𝑥1 𝑥2 𝑥3 -z Constantes
𝑥1 1 -3/2 0 0 4/3
𝑥3 0 -1/2 1 0 11/3
-z 0 0 0 1 10
Esta solución es óptima (también es óptima para el problema de mínimo).

Método de Penalización (M grande)


La necesaria eliminación de las variables artificiales introducidas para
determinar una solución básica inicial, se puede acometer en una única fase
resolviendo un problema en el que se penalizan los valores positivos de estas
(problema penalizado). Esta penalización implicará la tendencia de las
variables artificiales a ser no básicas.
En el caso general, el problema penalizado será:
𝑛 𝑚

min ෍ 𝑐𝑗 𝑥𝑗 + 𝑀 ෍ 𝑥𝑛+𝑖
𝑗=1 𝑖=1
𝑛

𝑠. 𝑎: ෍ 𝑎𝑖𝑗 𝑥𝑗 + 𝑥𝑛+𝑖 = 𝑏𝑖 , 𝑖 = 1, … , 𝑚
𝑗=1
𝑥𝑗 ≥ 0, 𝑗 = 1, … , 𝑛, 𝑥𝑛+𝑖 ≥ 0, 𝑖 = 1, … , 𝑚
MÉTODO DE PENALIZACIÓN
Ejemplo
Resolver el problema:
min −𝑥1 + 3𝑥2 − 4𝑥3
s. 𝑎: 2𝑥1 − 𝑥2 + 𝑥3 = 12
4𝑥1 + 2𝑥2 − 2𝑥3 = 8
𝑥𝑗 ≥ 0, ∀𝑗 ∈ 1,2,3
Solución
Consideramos dos variables artificiales cuyos valores positivos se penalizan
en la función objetivo multiplicando por 𝑀 > 0 suficientemente grande
(mayor que cualquiera de los valores que se maneje en cada momento).
Obtenemos:
min −𝑥1 + 3𝑥2 − 4𝑥3 + 𝑀𝑥4 + 𝑀𝑥5
s. 𝑎: 2𝑥1 − 𝑥2 + 𝑥3 + 𝑥4 = 12
4𝑥1 + 2𝑥2 − 2𝑥3 + 𝑥5 = 8
𝑥𝑗 ≥ 0, ∀𝑗 ∈ 1, … , 5
Aplicamos el Método Simplex sobre la tabla:
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -zM Constantes
𝑥4 2 -1 1 1 0 0 12
𝑥5 4 2 -2 0 1 0 8
-zM -1 3 -4 M M 1 0

En la última fila se escribe: −𝑥1 + 3𝑥2 − 4𝑥3 + 𝑀𝑥4 + 𝑀𝑥5 − 𝑧𝑀 = 0


MÉTODO DE PENALIZACIÓN
Si calculamos los costos relativos obtenemos:
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -zM Constantes
𝑥4 2 -1 1 1 0 0 12
𝑥5 4 2 -2 0 1 0 8
-zM -1-6M 3-M -4+M 0 0 1 -20M
Efectivamente, -1-6M es el costo relativo más negativo. Por tanto, 𝑥1 se
convierte en básica en lugar de 𝑥5 . Obtenemos la tabla:

V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -zM Constantes


𝑥4 0 -2 2 1 -1/2 0 8
𝑥1 1 1/2 -1/2 0 1/4 0 2
-zM 0 7/2+2M -9/2-2M 0 1/4+3M/2 1 2-8M
𝑥3 se convierte en básica en lugar de 𝑥4 . Obtenemos la tabla:
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -zM Constantes
𝑥3 0 -1 1 1/2 -1/4 0 4
𝑥1 1 0 0 1/4 1/8 0 4
-zM 0 -1 0 9/4+M -7/8+M 1 20
Al intentar hacer básica 𝑥2 se detecta la no acotación del problema
penalizado. Como en la última tabla las variables artificiales son iguales a
cero, el problema inicial es no acotado. Esto se ve claramente ya que la
semirrecta
MÉTODO DE PENALIZACIÓN

4,0,4 + 𝛾 0,1,1 , ∀𝛾 ≥ 0
está contenida en la región factible del problema inicial.

Nota:
Al aplicar el Método de Penalización puede suceder que:
a) El problema penalizado tenga solución óptima
a1) con todas las variables artificiales iguales a cero. En este caso, el
problema inicial tiene solución óptima, obtenida de la anterior por la simple
eliminación de las variables artificiales.
a2) con alguna (s) variable(s) artificial (es) no nula (s). En este caso, el
problema inicial es no factible.
b) El problema penalizado es no acotado
b1) con todas las variables artificiales iguales a cero en la solución básica
sobre la que se detecta la no acotación. En este caso, el problema inicial es
no acotado.
b2) con alguna (s) variable(s) artificial (es) no nula (s) en la solución
básica sobre la que se detecta la no acotación. En este caso, el problema
inicial es no factible.
INTERPRETACIÓN GEOMÉTRICA

Búsqueda gráfica
Dado el problema:

min −4𝑥1 − 5𝑥2


s. 𝑎: −2𝑥1 + 3𝑥2 ≤ 9
2𝑥1 + 3𝑥2 ≤ 21
3𝑥1 − 2𝑥2 ≤ 12
𝑥𝑗 ≥ 0, ∀𝑗 ∈ 1,2

La gráfica de la región factible es:


INTERPRETACIÓN GEOMÉTRICA

(3,5)

(0,3) (6,3)

(0,0) (4,0)
INTERPRETACIÓN GEOMÉTRICA
Para resolver aplicando el Método Simplex hemos de añadir variables de
holgura:

min −4𝑥1 − 5𝑥2


s. 𝑎: −2𝑥1 + 3𝑥2 + 𝑥3 =9
2𝑥1 + 3𝑥2 + 𝑥4 = 21
3𝑥1 − 2𝑥2 + 𝑥5 = 12
𝑥𝑗 ≥ 0, ∀𝑗 ∈ 1, … , 5
La tabla correspondiente es:

V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -z Constantes
𝑥3 -2 3 1 0 0 0 9
𝑥4 2 3 0 1 0 0 21
𝑥5 3 -2 0 0 1 0 12
-z -4 -5 0 0 0 1 0
La variable 𝑥2 se convierte en básica en sustitución de 𝑥3 . Se obtiene la
tabla:
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -z Constantes
𝑥2 -2/3 1 1/3 0 0 0 3
𝑥4 4 0 -1 1 0 0 12
𝑥5 5/3 0 2/3 0 1 0 18
-z -22/3 0 5/3 0 0 1 15
INTERPRETACIÓN GEOMÉTRICA

La dirección de búsqueda sabemos que es (0,1,-3,-3,2) y, además, en


dicha dirección nos movemos 3 unidades partiendo del punto
(0,0,0,21,12) . En dimensión dos, el punto de partida es (0,0) , la
dirección es (0,1) y el movimiento a través de ella es de 3 unidades. La
transición de una tabla a otra aparece indicada con una flecha en la
siguiente gráfica en dos dimensiones:

(3,5)

(0,3) (6,3)

(0,0) (4,0)
INTERPRETACIÓN GEOMÉTRICA

En la tabla anterior se observa que la variable 𝑥1 debe ser básica en lugar


de 𝑥4 . La nueva tabla es:

V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -z Constantes
𝑥2 0 1 1/6 1/6 0 0 5
𝑥1 1 0 -1/4 1/4 0 0 3
𝑥5 0 0 13/12 -5/12 1 0 13
-z 0 0 -1/6 11/6 0 1 37

En esta última tabla, desde el punto (0,3,0,12,6) nos hemos movido 3


unidades en la dirección (1,2/3,0,-4,-5/3) para obtener el punto
(3,5,0,0,13) . La correspondiente gráfica en dos dimensiones es:
INTERPRETACIÓN GEOMÉTRICA

(3,5)

(0,3) (6,3)

(0,0) (4,0)
INTERPRETACIÓN GEOMÉTRICA

La variable 𝑥3 sustituye a la variable básica 𝑥5 . Obtenemos la tabla:

V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -z Constantes
𝑥2 0 1 0 4/39 -2/13 0 3
𝑥1 1 0 0 9/26 3/13 0 6
𝑥3 0 0 1 -5/13 12/13 0 12
-z 0 0 0 23/13 2/13 1 39

Por tanto, desde el punto (3,5,0,0,13) nos hemos movido 12 unidades


en la dirección (1/4,-1/6,1,0,-13/12) para obtener el punto (6,3,12,0,0).
La correspondiente gráfica en dos dimensiones es:
INTERPRETACIÓN GEOMÉTRICA

(3,5)

(0,3) (6,3)

(0,0) (4,0)
DEGENERACIÓN
Soluciones básicas factibles degeneradas
Dada una solución básica factible, se dice degenerada si al menos una
variable básica toma un valor igual a cero. En otro caso, la solución básica
factible es no degenerada.
Cuando la variable candidata a salir de la base no es única, la solución
básica factible que resulta es degenerada.
Ejemplo
Dado el problema:
m𝑎𝑥 4𝑥1 + 6𝑥2
s. 𝑎: 2𝑥1 + 5𝑥2 + 𝑥3 = 10
4𝑥1 − 2𝑥2 + 𝑥4 = 20
3𝑥1 + 4𝑥2 + 𝑥5 = 8
𝑥𝑗 ≥ 0, ∀𝑗 ∈ 1, … , 5
La tabla correspondiente es:
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -z Constantes
𝑥3 2 5 1 0 0 0 10
𝑥4 4 -2 0 1 0 0 20
𝑥5 3 4 0 0 1 0 8
-z 4 6 0 0 0 1 0
La variable 𝑥2 debe entrar en la base. Candidatas a salir son las variables
𝑥3 y 𝑥5 . Si elegimos 𝑥3 , obtenemos:
DEGENERACIÓN

V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -z Constantes
𝑥2 2/5 1 1/5 0 0 0 2
𝑥4 24/5 0 2/5 1 0 0 24
𝑥5 7/5 0 -4/5 0 1 0 0
-z 8/5 0 -6/5 0 0 1 -12

Esta tabla contiene una solución básica factible degenerada. La variable 𝑥1


entra en la base sustituyendo a 𝑥5 . Realizando la correspondiente
operación de pivotaje, obtenemos la tabla:

V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -z Constantes
𝑥2 0 1 3/7 0 -2/7 0 2
𝑥4 0 0 22/7 1 -24/7 0 24
𝑥1 1 0 -4/7 0 5/7 0 0
-z 0 0 -2/7 0 -8/7 1 -12
Esta nueva tabla es óptima.
En el trabajo que acabamos de realizar se observa que la solución que se
maneja en las dos últimas tablas es la misma. Sin embargo, las bases
asociadas son distintas. Además, mientras que en la primera tabla no se
da la condición de optimalidad, esto si es obtenido en la segunda. Se
observa también que el valor de la función objetivo no cambia en las
citadas tablas.
CICLADO Y SU ELIMINACIÓN
Posibilidad de ciclado y su eliminación
Por tanto, en presencia de degeneración, no existe correspondencia unívoca
entre soluciones básicas y bases. Las operaciones realizadas para pasar de
una tabla a otra puede que recorran una secuencia de bases asociadas a una
misma solución. Puesto que la columna de constantes permanece inalterable
y el número de bases es finito, es posible que se repita una base ya usada.
Este proceso se denomina ciclado. La eliminación del ciclado exigirá algún
complemento para evitar la repetición de bases.
Dado que el motivo del ciclado es la presencia de soluciones básicas
degeneradas y que la aparición de estas tiene origen en la multiplicidad de
variables candidatas a salir de la base, los complementos a añadir refinan el
proceso de selección de variables para pasar de una solución básica factible a
otra adyacente.
Uno de esos complementos es la regla lexicográfica (Dantzig, Orden, Wolfe
(1955)).
Definición
𝑢 ∈ 𝑅𝑛 es léxico positivo, 𝑢 ≻𝐿 0, si la primera componente no nula de 𝑢 es
positiva (de manera similar se pueden dar definiciones de vectores léxico
negativos). 𝑢 ≻𝐿 𝑣 sí, y sólo si, 𝑢 −𝑣 ≻𝐿 0.
≻𝐿 es un preorden transitivo.

Ejemplo
El vector 0,0,1, −6,0,2 es léxico positivo.
REGLA DE LA RAZÓN LEXICOMIN
Para eliminar el ciclado es necesario cambiar la regla de selección de la
variable candidata a salir de la base (regla de la razón mínima).
Para hacerlo, en primer lugar asociamos a cada variable básica 𝑥𝐵𝑖 , 𝑖 =
1, … , 𝑚, el vector fila de 𝑣 𝑖 = 𝑏ത𝑖 , 𝛽𝑖1 , 𝛽𝑖2 , … , 𝛽𝑖𝑚 ∈ 𝑅𝑚+1 , siendo 𝛽𝑖1 , 𝛽𝑖2 , … , 𝛽𝑖𝑚
la fila i-ésima de 𝐵 −1 . La construcción de los vectores 𝑣 𝑖 se puede hacer con
la información que se genera en las tablas de aplicación del método.
Cada variable no básica tiene asociado el vector cero de 𝑅𝑚+1 .
Con este “cambio”, la función objetivo tiene un valor vectorial igual a 𝑧 =
σ𝑚𝑖=1 𝑐𝐵𝑖 𝑣
𝑖

Supongamos que la solución básica factible actual no es óptima. Por tanto,


hay una variable no básica 𝑥𝑠 , con costo relativo 𝑐𝑠ҧ = min 𝑐𝑗ҧ |𝑗 ∈ 𝑁 < 0 ,
candidata a ser básica.

Regla de la razón léxico mínima


𝑣𝑖 𝑣𝑟
La variable 𝑥𝐵𝑟 sale de la base si 𝑦𝑟𝑠 > 0 y ≻𝐿 𝑦 , para 𝑖 = 1, … , 𝑚 e 𝑦𝑖𝑠 > 0.
𝑦𝑖𝑠 𝑟𝑠

Propiedad
1) Con la regla anterior la variable candidata a salir de la base es única.
2) En cada iteración, los valores vectoriales de las variables básicas son
léxico positivos.
3) En cada iteración, el valor vectorial de la función objetivo decrece en el
sentido lexicográfico.
REGLA DE LA RAZÓN LEXICOMIN
Para ver la demostración de (1) basta comprobar que la regla se puede
aplicar sobre el siguiente esquema:
Inicio
𝑏ത 𝑖
Hallar 𝑚𝑖𝑛 |𝑦 > 0 . Sea 𝐼0 el conjunto de índices donde se obtiene el
𝑦𝑖𝑠 𝑖𝑠
mínimo. Hacer 𝑘 = 0.
Mientras
𝛽
𝐼𝑘 > 1, hallar 𝑚𝑖𝑛 𝑦𝑖𝑘+1 |𝑖 ∈ 𝐼𝑘 , 𝑦𝑖𝑠 > 0 . Hallar 𝐼𝑘+1 , hacer 𝑘 = 𝑘 + 1 y repetir.
𝑖𝑠

Es evidente que 𝐼𝑘 = 1 para algún 𝑘 < 𝑚 ya que, en caso contrario:


𝑣 𝑟1 𝑟
ത𝑟 , 𝛽𝑟 1 , 𝛽𝑟 2 , … , 𝛽𝑟 𝑚 /𝑦𝑟 𝑠 = 𝑣 2 = 𝑏ത𝑟 , 𝛽𝑟 1 , 𝛽𝑟 2 , … , 𝛽𝑟 𝑚 /𝑦𝑟 𝑠 , con 𝑟1 ≠ 𝑟2
= 𝑏 1 1 1 1 1 2 2 2 2 2
𝑦𝑟1 𝑠 𝑦 𝑟2 𝑠
y esto implica que dos filas de 𝐵 −1 son linealmente dependientes y que, por
tanto, 𝐵 −1 no tiene inversa.
Para la demostración de (2) aplicaremos inducción sobre la iteración 𝑙.
Para 𝑙 = 1 es cierto que los vectores 𝑣 𝑖 1 son léxico positivos porque están
formados a partir de 𝑏ത y las columnas de la identidad de orden m.
Supuesta cierta la hipótesis de que los vectores 𝑣 𝑖 𝑙 son léxico positivos,
demostremos que esta propiedad se da para los vectores 𝑣 𝑖 𝑙 + 1 .
Efectivamente:
𝑣𝑟 𝑙 𝑣𝑟 𝑙
𝑣𝑖 𝑙+1 = 𝑣𝑖 𝑙 − 𝑦𝑖𝑠 , 𝑖 ∈ 1, … , 𝑚 − 𝑟 , 𝑣𝑠 𝑙+1 = , con 𝑦𝑟𝑠 > 0(el resto
𝑦𝑟𝑠 𝑦𝑟𝑠
de variables tienen asociado el vector cero de 𝑅𝑚+1 ).
REGLA DE LA RAZÓN LEXICOMIN
Es claro que, por la selección de 𝑟 (aplicando la regla de la razón léxico
mínima), 𝑣 𝑖 𝑙 + 1 es léxico positivo para cada variable básica.
Para ver la demostración de (3), basta comprobar que el valor vectorial de
la función objetivo en la iteración 𝑙 + 1 es:
𝑣𝑟
𝑧 𝑙 + 1 = 𝑧 𝑙 + 𝑐𝑠ҧ
𝑦𝑟𝑠
𝑣𝑟
siendo 𝑧 𝑙 ≻𝐿 𝑧 𝑙 + 1 , ya que 𝑐𝑠ҧ < 0 y ≻𝐿 0.
𝑦𝑟𝑠

En definitiva, como la función objetivo vectorial decrece


lexicográficamente en cada iteración, aplicando la regla de la razón léxico
mínima no se pueden repetir las bases y, por ello, el Método Simplex
Lexicográfico no cicla.
Ejemplo
Resolver:
max 6𝑥1 + 4𝑥2 + 2𝑥3 + 6𝑥4
1
𝑠. 𝑎: 2𝑥1 + 6𝑥2 + 4𝑥3 + 𝑥4 + 𝑥5 = 12
2
4𝑥1 − 2𝑥2 − 𝑥3 + 𝑥4 + 𝑥6 = 24
1
𝑥1 +𝑥2 + 2𝑥3 + 𝑥4 + 𝑥7 = 6
4
𝑥𝑗 ≥ 0, 𝑗 = 1, … , 7
CICLADO Y SU ELIMINACIÓN
La correspondiente tabla es:

V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 𝑥6 𝑥7 -z Constantes
𝑥5 2 6 4 1/2 1 0 0 0 12
𝑥6 4 -2 -1 1 0 1 0 0 24
𝑥7 1 1 2 1/4 0 0 1 0 6
-z 6 4 2 6 0 0 0 1 0

Se observa que, aplicando la regla de Dantzig, las variables 𝑥1 y 𝑥4 son


candidatas a ser básicas. En los dos casos, 𝑥5 , 𝑥6 y 𝑥7 son candidatas a
salir de la base. Si optamos por 𝑥4 como variable entrante en la base, la
regla lexicográfica consiste en hallar el mínimo de los cocientes entre los
elementos del vector actualizado de constantes y los correspondientes
coeficientes positivos de la columna actualizada asociada a 𝑥4 . Como este
mínimo se alcanza para los tres cocientes (𝑥5 , 𝑥6 y 𝑥7 siguen siendo
candidatas a salir de la base), repetimos el mismo cálculo pero
sustituyendo la columna actualizada de constantes por la primera columna
de la inversa de la base actual. El mínimo se obtendrá ahora para 𝑥6 y 𝑥7 .
Como dicho mínimo no es único, procedemos (para las correspondientes
filas) a un nuevo cálculo cambiando la primera columna de la base por la
segunda. De esta manera resulta 𝑥7 la variable elegida para salir de la
base.
La correspondiente tabla es:
CICLADO Y SU ELIMINACIÓN

V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 𝑥6 𝑥7 −𝑧 Constantes
𝑥5 0 4 0 0 1 0 -2 0 0
𝑥6 0 -6 -9 0 0 1 -4 0 0
𝑥4 4 4 8 1 0 0 4 0 24
−𝑧 -18 -20 -46 0 0 0 -24 1 -144

Esta tabla es óptima.


La Regla de Bland (1977) resuelve el problema del ciclado partiendo de
una ordenación de las variables y eligiendo como candidata a entrar la
primera variable con costo relativo conveniente (negativo en el caso de
mínimo y positivo en el caso de máximo) y como candidata a salir la
primera variable básica que se corresponda con el mínimo entre las
constantes y los correspondientes coeficientes actualizados positivos de la
columna de la variable entrante.
Para el problema anterior, 𝑥1 entra en la base y sale 𝑥5 . Se obtiene:
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 𝑥6 𝑥7 −𝑧 Constantes
𝑥1 1 3 2 1/4 1/2 0 0 0 6
𝑥6 0 -14 -5 0 -2 1 0 0 0
𝑥7 0 -2 0 0 -1/2 0 1 0 0
−𝑧 0 -14 -10 9/2 -3 0 0 1 -36
CICLADO Y SU ELIMINACIÓN

La variable 𝑥4 entra en la base sustituyendo a 𝑥1 . La nueva tabla es:

V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 𝑥6 𝑥7 −𝑧 Constantes
𝑥4 4 12 8 1 2 0 0 0 24
𝑥6 0 -14 -5 0 -2 1 0 0 0
𝑥7 0 -2 0 0 -1/2 0 1 0 0
−𝑧 -18 -68 -46 0 -12 0 0 1 -144

Esta tabla es óptima.


COMPLEJIDAD COMPUTACIONAL
𝑛

max ෍ 2𝑛−𝑗 𝑥𝑗
8 𝑗=1
𝑖−1

𝑠. 𝑎: 2 ෍ 2𝑖−𝑗 𝑥𝑗 + 𝑥𝑖 ≤ 5𝑖 , ∀𝑖 ∈ 1, … , 𝑛
𝑗=1
𝑥𝑗 ≥ 0
7

max 4𝑥1 + 2𝑥2 + 𝑥3


6 𝑠. 𝑎: 𝑥1 ≤ 5
𝑛=3 4𝑥1 + 𝑥2 ≤ 25
8𝑥1 + 4𝑥2 + 𝑥3 ≤ 125
5 𝑥𝑗 ≥ 0
1 0,0,0
1 2 5,0,0
2
3 4 3 5,5,0
4 0,25,0
5 0,25,25
6 5,5,65
7 5,0,85
8 0,0,125
TEMA 5: SIMPLEX REVISADO
Elementos esenciales para la aplicación del Método del Simplex
Tablas inversas

El Método Simplex Revisado es la versión matricial


adaptada al manejo computacional del método. Sólo
usa los elementos imprescindibles para la
implementación eficiente del algoritmo.

Se usan unas nuevas tablas, denominadas tablas


inversas, con las que se puede generar la información
correspondiente a cada iteración a partir de los datos
iniciales del problema.

𝑇1−1 Datos (tabla) iter. 1

𝑇2−1 Datos (tabla) iter. 2


Datos (tabla) iniciales

𝑇𝑘−1

Datos (tabla) iter. k


METODO SIMPLEX REVISADO

Operaciones matriciales
Recordemos que denominamos base a la matriz formada por las columnas
que, en el problema inicial, corresponden a variables básicas. En su lugar, en
las tablas utilizadas hasta ahora, aparece la matriz identidad. Por tanto, las
operaciones realizadas implican, necesariamente, la multiplicación por la
inversa de la base. Por esta razón, como la base inicial es igual a la
identidad, en cada tabla aparece escrita la inversa de la base debajo de las
variables básicas iniciales.

Ejemplo
Resolver el problema:

min −5𝑥1 − 6𝑥2


s. 𝑎: −2𝑥1 + 3𝑥2 + 𝑥3 = 12
𝑥1 + 𝑥2 + 𝑥4 = 9
3𝑥1 + 2𝑥2 + 𝑥5 = 24
𝑥𝑗 ≥ 0, ∀𝑗 ∈ 1, … , 5

Solución
La tabla inicial es:
METODO SIMPLEX REVISADO

V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -z Constantes
𝑥3 -2 3 1 0 0 0 12
𝑥4 1 1 0 1 0 0 9
𝑥5 3 2 0 0 1 0 24
-z -5 -6 0 0 0 1 0

Hemos resaltado en negrita las columnas que corresponden a las variables


básicas (𝑥3 , 𝑥4 , 𝑥5 y – 𝑧 ). Esta tabla no es óptima. La variable 𝑥2 entra en la
base en sustitución de 𝑥3 . Obtenemos:

V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 −𝑧 Constantes
𝑥2 -2/3 1 1/3 0 0 0 4
𝑥4 5/3 0 -1/3 1 0 0 5
𝑥5 13/3 0 -2/3 0 1 0 16
−𝑧 -9 0 2 0 0 1 24

En el lugar que corresponde a la base aparece la identidad. Por tanto, la


inversa de la base actual aparece en el lugar donde estaba la identidad en la
tabla anterior.
En esta última tabla 𝑥1 sustituye en la base a 𝑥4 . La nueva tabla es:
METODO SIMPLEX REVISADO

V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -z Constantes
𝑥2 0 1 1/5 2/5 0 0 6
𝑥1 1 0 -1/5 3/5 0 0 3
𝑥5 0 0 1/5 -13/5 1 0 3
-z 0 0 1/5 27/5 0 1 51

Igual que ocurría antes, en el lugar que corresponde a la base aparece la


identidad. Por su parte, la inversa de la base actual aparece en las cuatro
últimas columnas resaltadas en negrita. Esta tabla es óptima.
Se observa en esta última tabla que la inversa de:

3 -2 0 0
1 1 0 0
2 3 1 0
-6 -5 0 1

es
1/5 2/5 0 0
-1/5 3/5 0 0
1/5 -13/5 1 0
1/5 27/5 0 1
FORMATO MATRICIAL
En general, denotando por B a la matriz de coeficientes tecnológicos
correspondientes a variables básicas y por 𝑐𝐵𝑡 al vector fila de costos de
dichas variables, la primera de las dos matrices anteriores se puede escribir
como:

B 0
 ct 1 
 B

Mientras que la segunda es:

-1  B -1 0
T   t -1 
-
 Bc B 1 
Precisamente, la transformación de la tabla inicial en la tabla de cualquier
iteración es el resultado de multiplicar por esta última matriz. Conviene
recordar que la expresión de la tabla inicial es la siguiente:

Variables Básicas 𝑥𝐵 𝑥𝑁 -z Constantes


𝑥𝐵 B N 0 b
-z 𝑐𝐵𝑡 𝑐𝑁𝑡 1 0
donde N denota la matriz de columnas de coeficientes tecnológicos que
corresponden a variables no básicas y 0 es un vector de ceros.
TABLAS DEL SIMPLEX REVISADO
La tabla actualizada es:
Variables Básicas 𝑥𝐵 𝑥𝑁 −𝑧 Constantes
𝑥𝐵 I 𝐵 −1 𝑁 0 𝐵 −1 𝑏
−𝑧 0 ҧ𝑡 = 𝑐𝑁𝑡 − 𝑐𝐵𝑡 𝐵−1 𝑁
𝑐𝑁 1 -𝑐𝐵𝑡 𝐵−1 𝑏
Nota: 0 es un vector (fila o columna) de ceros de dimensión conveniente
Se observa que 𝑐𝑁ҧ𝑡 = 𝑐𝑁𝑡 − 𝑐𝐵𝑡 𝐵−1 𝑁 es el vector de costos relativos de variables
no básicas y que 𝑧ҧ = 𝑐𝐵𝑡 𝐵−1 𝑏 es el valor de la función objetivo.
Por tanto, 𝑇 −1 es suficiente para generar la información relativa a la
correspondiente iteración si a su conocimiento se añade el necesario para la
selección de las variables candidatas a entrar y a salir de la base.
Tablas del Simplex Revisado
Contienen la anteriormente referida información esencial. Consisten en:
Variables Básicas 𝑇 −1 Constantes
𝑥𝐵 𝐵 −1 0 𝐵 −1 𝑏
−𝑧 𝑐𝐵𝑡 𝐵−1 1 -𝑐𝐵𝑡 𝐵−1 𝑏
añadiendo la información relativa al cálculo de los costos relativos, a la
columna actualizada de la variable candidata a entrar en la base y, en
consecuencia, a la variable que, en su caso, sale de la base.
Hay que recordar que, utilizando variables artificiales o no, en la primera
iteración la matriz B es la identidad.
TABLAS DEL SIMPLEX REVISADO
Si la solución básica actual no es óptima, una variable no básica 𝑥𝑠 es
seleccionada para entrar en la base. Incorporamos la columna
correspondiente (actualizada) a la tabla anterior:
Variables Básicas 𝑇 −1 Constantes Columna pivote
𝑥𝐵 𝐵 −1 0 𝐵 −1 𝑏 𝑦𝑠
-z −𝑐𝐵𝑡 𝐵−1 1 −𝑐𝐵𝑡 𝐵−1 𝑏 𝑐𝑠ҧ

Si 𝑦 𝑠 ≰ 0, no se detecta la no acotación y, en consecuencia, se ha de realizar


una operación de pivotaje. Si 𝑦𝑟𝑠 es el pivote, al multiplicar por una matriz P,
igual a la identidad de orden m+1 salvo la columna r-ésima sustituida por
−𝑦1𝑠 /𝑦𝑟𝑠 𝑦1𝑠 0
… … …
−𝑦𝑟−1𝑠 /𝑦𝑟𝑠 𝑦𝑟−1𝑠 0
1/𝑦𝑟𝑠 𝑦𝑟𝑠 1
, la columna 𝑦 pasa a .
−𝑦𝑟+1𝑠 /𝑦𝑟𝑠 𝑟+1𝑠 0
… … …
−𝑦𝑚𝑠 /𝑦𝑟𝑠 𝑦𝑚𝑠 0
−𝑐𝑠ҧ /𝑦𝑟𝑠 𝑐𝑠ҧ 0
La matriz P se denomina matriz de pivotaje.
En consecuencia, para las tablas inversas de dos iteraciones sucesivas:
𝑇 𝑘+1 = 𝑃𝑘 𝑇 𝑘
siendo 𝑃𝑘 la correspondiente matriz de pivotaje. Esto hace que:
𝑇 𝑘+1 = 𝑃𝑘 𝑃𝑘−1 … 𝑃1 𝑇 1
APLICACIONES DEL SIMPLEX REVISADO
Ejemplo
Para resolver el problema:

min 3𝑥1 − 4𝑥2 − 2𝑥3 + 6𝑥4 + 𝑥5


s. 𝑎: −2𝑥1 + 4𝑥2 − 𝑥3 + 𝑥4 = 10
2𝑥1 + 𝑥2 + 2𝑥3 + 𝑥5 = 8
𝑥𝑗 ≥ 0, ∀𝑗 ∈ 1, … , 5

aplicando el Simplex Revisado, la tabla (tabla inversa, reducida) que genera


la información que permite ejecutar la primera iteración es:

Vs. Básicas 𝑇 −1 Constantes


𝑥4 1 0 0 10
𝑥5 0 1 0 8
−𝑧 -6 -1 1 -68

Los costos relativos de las distintas variables se obtienen multiplicando:

−2 4 −1 1 0
𝑐ҧ𝑡 = −6, −1,1 2 1 2 0 1 13, −29, 2,0,0
3 −4 −2 6 1
APLICACIONES DEL SIMPLEX REVISADO
Es decir, 𝑥2 es candidata a entrar en la base. La columna actualizada de 𝑥2
es:

 4 
 1 
 
 -29 
 
Esta columna, denominada columna pivote, se incorpora a la última tabla:

Vs. Básicas 𝑇1 −1 Ctes. Col. Piv.(𝑥2 )


𝑥4 1 0 0 10 4
𝑥5 0 1 0 8 1
−𝑧 -6 -1 1 -68 -29

Sabemos que la variable 𝑥4 deja su puesto de variable básica a 𝑥2 . Para


realizar la correspondiente iteración se debe utilizar una nueva 𝑇2 −1 . Esta se
obtiene a partir de la anterior multiplicando, por la izquierda, por la siguiente
matriz de pivotaje:
1/4 0 0
𝑃1 = −1/4 1 0
29/4 0 1
𝑇2 −1 =𝑃1 𝑇1 −1
APLICACIONES DEL SIMPLEX REVISADO
La nueva tabla reducida será:
Vs. Básicas 𝑇2 −1 Ctes.
𝑥2 1/4 0 0 5/2
𝑥5 -1/4 1 0 11/2
−𝑧 5/4 -1 1 9/2
Los nuevos costos relativos son:
5 −2 4 −1 1 0 3 21 29
𝑡
𝑐ҧ = , −1,1 − , 0, − , , 0
2 1 2 0 1
4 2 4 4
3 −4 −2 6 1

La variable 𝑥3 quiere ser básica. Incorporamos la columna pivote a la tabla


anterior y obtenemos
Vs. Básicas 𝑇2 −1 Ctes. Col. Piv.(𝑥3 )
𝑥2 1/4 0 0 5/2 -1/4
𝑥5 -1/4 1 0 11/2 9/4
−𝑧 5/4 -1 1 9/2 -21/4
La variable 𝑥5 sale de la base. La matriz de pivotaje que permite generar la
nueva 𝑇3 −1 es:
1 1/9 0 𝑇 −1
=𝑃 2 𝑇 −1
3 2
𝑃2 = 0 4/9 0
0 21/9 1
APLICACIONES DEL SIMPLEX REVISADO
La nueva tabla reducida es:

Vs. Básicas 𝑇3 −1 Ctes.


𝑥2 2/9 1/9 0 28/9
𝑥3 -1/9 4/9 0 22/9
−𝑧 2/3 4/3 1 52/3

Los nuevos costos relativos son:

2 4 −2 4 −1 1 0 13 20
𝑐ҧ𝑡 = , ,1 2 1 2 0 1 , 0, 0, , 7/3
3 3 3 3
3 −4 −2 6 1

Por tanto, la nueva solución básica factible es óptima.

Observamos que 𝑇3 −1 = 𝑃2 𝑇2 −1= 𝑃2 𝑃1 𝑇1 −1 . Este producto implica la posibilidad


de determinación de la inversa de una matriz a través del producto de
matrices de pivotaje.
APLICACIONES DEL SIMPLEX REVISADO
Ejemplo
Resolver, aplicando el Método Simplex Revisado, el problema:
min 2𝑥1 − 4𝑥2 + 5𝑥3
s. 𝑎: −𝑥1 + 2𝑥2 − 2𝑥3 = 10
2𝑥1 + 2𝑥2 + 𝑥3 = 12
𝑥𝑗 ≥ 0, ∀𝑗 ∈ 1,2,3
Solución
Para encontrar una solución básica factible, hemos de añadir dos variables
artificiales que, luego, trataremos de eliminar aplicando el Método de las Dos
Fases sobre tablas reducidas.
Fase I
El problema a resolver es: min 𝑥4 + 𝑥5
s. 𝑎: −𝑥1 + 2𝑥2 − 2𝑥3 + 𝑥4 = 10
2𝑥1 + 2𝑥2 + 𝑥3 + 𝑥5 = 12
𝑥𝑗 ≥ 0, ∀𝑗 ∈ 1, … , 5
Por tanto, la tabla reducida inicial es:
Vs. Básicas 𝑇1 −1 Constantes
𝑥4 1 0 0 10
𝑥5 0 1 0 12
−𝑤 -1 -1 1 -22
APLICACIONES DEL SIMPLEX REVISADO
Los costos relativos son:
−1 2 −2 1 0
𝑐ҧ𝑡 = −1, −1,1 2 2 1 0 1 −1, −4, 1,0,0
0 0 0 1 1
Por tanto, la variable 𝑥2 es candidata a entrar en la base. Incorporamos a la
tabla anterior la correspondiente columna actualizada. Obtenemos:
Vs. Básicas 𝑇1 −1 Ctes. Col. Piv.(𝑥2 )
𝑥4 1 0 0 10 2
𝑥5 0 1 0 12 2
−𝑤 -1 -1 1 -22 -4

La variable 𝑥4 debe salir de la base. Si:


1/2 0 0
𝑃1 = −1 1 0 𝑇2 −1 =𝑃1 𝑇1 −1
2 0 1
Por tanto, obtenemos:

Vs. Básicas 𝑇2 −1 Constantes


𝑥2 1/2 0 0 5
𝑥5 -1 1 0 2
−𝑤 1 -1 1 -2
APLICACIONES DEL SIMPLEX REVISADO
Los costos relativos son:
−1 2 −2 1 0
𝑐ҧ𝑡 = 1, −1,1 2 2 1 0 1 −3,0, −3,2,0
0 0 0 1 1

La variable 𝑥3 debe entrar en la base. Incorporamos la columna actualizada a


la tabla anterior y obtenemos:
Vs. Básicas 𝑇2 −1 Ctes. Col. Piv.(𝑥3 )
𝑥2 1/2 0 0 5 -1
𝑥5 -1 1 0 2 3
−𝑤 1 -1 1 -2 -3
La variable 𝑥5 debe salir de la base. Si:
1 1/3 0
𝑃2 = 0 1/3 0 𝑇3 −1 =𝑃2 𝑇2 −1
0 1 1
La nueva tabla inversa es:

Vs. Básicas 𝑇3 −1 Constantes


𝑥2 1/6 1/3 0 17/3
𝑥3 -1/3 1/3 0 2/3
−𝑤 0 0 1 0
APLICACIONES DEL SIMPLEX REVISADO
Como las variables artificiales han salido de la base, la tabla anterior es
óptima para el problema de la fase I y suministra una solución básica factible
para iniciar la resolución del correspondiente problema de la fase II. Lo
haremos sobre la última tabla reducida, sustituyendo la última fila por la que
corresponde a la función objetivo del problema inicial, teniendo en cuenta
que ahora:
1 1
−𝑐𝐵𝑡 𝐵−1 = − −4, 5 6 3 = 7,−1
1 1 3 3

3 3
Por tanto, la nueva tabla es:
Vs. Básicas 𝑇1 −1 Constantes
𝑥2 1/6 1/3 0 17/3
𝑥3 -1/3 1/3 0 2/3
−𝑧 7/3 -1/3 1 58/3
Los correspondientes costos relativos son:

7 1 −1 2 −2
𝑐ҧ𝑡 = ,− ,1 2 2 1 = −1,0,0
3 3
2 −4 5

La variable 𝑥1 debe ser básica


APLICACIONES DEL SIMPLEX REVISADO

Vs. Básicas 𝑇1 −1 Constantes Col. Piv.(𝑥1 )


𝑥2 1/6 1/3 0 17/3 1/2
𝑥3 -1/3 1/3 0 2/3 1
−𝑧 7/3 -1/3 1 58/3 -1

La variable 𝑥3 debe salir de la base:

Vs. Básicas 𝑇2 −1 Constantes


𝑥2 1/3 1/6 0 16/3
𝑥1 -1/3 1/3 0 2/3
−𝑧 2 0 1 20

Los correspondientes costos relativos son:

−1 2 −2
𝑐ҧ𝑡 = 2,0,1 2 2 1 = 0,0,1
2 −4 5

Esta tabla es óptima.


APLICACIONES DEL SIMPLEX REVISADO
Ejemplo
Resolver, aplicando el Método Simplex Revisado, el problema:

max −2𝑥1 + 2𝑥2 + 3𝑥3


s. 𝑎: −2𝑥1 + 2𝑥2 + 4𝑥3 = 16
𝑥1 + 2𝑥2 − 2𝑥3 = 12
𝑥𝑗 ≥ 0, ∀𝑗 ∈ 1,2,3
Solución
Para encontrar una solución básica factible, hemos de añadir dos variables
artificiales que, luego, trataremos de eliminar aplicando el Método de
Penalización sobre tablas reducidas.
El problema a resolver es:

max −2𝑥1 + 2𝑥2 + 3𝑥3 − 𝑀𝑥4 − 𝑀𝑥5


s. 𝑎: −2𝑥1 + 2𝑥2 + 4𝑥3 + 𝑥4 = 16
𝑥1 + 2𝑥2 − 2𝑥3 + 𝑥5 = 12
𝑥𝑗 ≥ 0, ∀𝑗 ∈ 1, … , 5

Por tanto, la tabla reducida inicial es:


Vs. Básicas 𝑇1 −1 Constantes
𝑥4 1 0 0 16
𝑥5 0 1 0 12
-zM M M 1 28M
APLICACIONES DEL SIMPLEX REVISADO
Los costos relativos son:
−2 2 4 1 0
𝑡
𝑐ҧ = 𝑀, 𝑀, 1 1 2 −2 0 1 −2 − 𝑀, 2 + 4𝑀, 3 + 2𝑀, 0,0
−2 2 3 −𝑀 −𝑀

La variable 𝑥2 debe entrar en la base. Incorporamos la columna actualizada a


la tabla anterior y obtenemos:
Vs. Básicas 𝑇1 −1 Ctes. Col. Piv.(𝑥2 )
𝑥4 1 0 0 16 2
𝑥5 0 1 0 12 2
−𝑧𝑀 M M 1 -28M 2+4M
Sale de la base 𝑥5 . La matriz de pivotaje es:
1 −1 0
𝑃1 = 0 1/2 0
0 −1 − 2𝑀 1
La nueva tabla es:
Vs. Básicas 𝑇2 −1 Ctes.
𝑥4 1 -1 0 4
𝑥2 0 1/2 0 6
−𝑧𝑀 M -1-M 1 -12+4M
APLICACIONES DEL SIMPLEX REVISADO
Los nuevos costos relativos serán:
−2 2 4 1 0
𝑐ҧ𝑡 = 𝑀, −1 − 𝑀, 1 1 2 −2 0 1 −3 − 3𝑀, 0, 5 + 6𝑀, 0, −1 − 2𝑀
−2 2 3 −𝑀 −𝑀

La variable 𝑥3 es candidata a entrar en la base. Incorporamos la columna


actualizada a la tabla anterior y obtenemos
Vs. Básicas 𝑇2 −1 Ctes. Col. Piv.(𝑥3 )
𝑥4 1 -1 0 4 6
𝑥2 0 1/2 0 6 -1
−𝑧𝑀 M -1-M 1 -12+4M 5+6M
Sale de la base 𝑥4 . La nueva matriz de pivotaje es:

1/6 0 0
𝑃2 = 1/6 1 0
−5/6 0 1
La nueva tabla es:
Vs. Básicas 𝑇3 −1 Ctes.
𝑥3 1/6 -1/6 0 2/3
𝑥2 1/6 1/3 0 20/3
−𝑧𝑀 -5/6 -1/6 1 -46/3
APLICACIONES DEL SIMPLEX REVISADO
Los nuevos costos relativos serán:

5 1 −2 2 4 1 0 1 5 1
𝑐ҧ𝑡 = − , − , 1 1 2 −2 0 1 − , 0, 0, − − 𝑀, − − 𝑀
6 6 2 6 6
−2 2 3 −𝑀 −𝑀

Se observa que el problema penalizado tiene solución óptima. Como


las variables artificiales son no básicas, el problema inicial tiene
solución óptima que resulta de eliminar las variables artificiales del
problema penalizado.
TEMA 6: DUALIDAD. MÉTODO SIMPLEX DUAL
Problema dual.
Propiedades.
Teorema de dualidad.
Factibilidad dual.
Método Simplex Dual.
Otros métodos.

Resumen
Se define el problema dual y se establece la relación entre
las soluciones óptimas del primal y del dual. También,
usando conceptos relacionados con la dualidad, se
propone el Método Simplex Dual, un nuevo método de
resolución de problemas de Programación Lineal.
Desde la acumulación de conocimientos adquiridos, es
posible realizar la propuesta de otros nuevos métodos de
resolución de problemas de Programación Lineal.
PLANTEAMIENTO DEL PROBLEMA DUAL
Definición
Dado un problema estándar de Programación Lineal de mínimo:
min 𝑐 𝑡 𝑥
𝑠. 𝑎: 𝐴𝑥 = 𝑏 𝑃
𝑥≥0

en el que 𝑐 ∈ 𝑅𝑛 , A es una matriz de orden 𝑚 × 𝑛 y 𝑏 ∈ 𝑅𝑚 , se pueden


encontrar cotas inferiores del valor óptimo eligiendo vectores 𝑦 ∈ 𝑅𝑚 tales
que 𝐴𝑡 𝑦 ≤ 𝑐 ya que, para cualquier solución factible de (𝑃) se verifica:
𝑦 𝑡 𝐴𝑥 = 𝑦 𝑡 𝑏 ≤ 𝑐 𝑡 𝑥

La determinación de la mejor de estas cotas se obtiene del problema:

max 𝑏𝑡 𝑦
𝑠. 𝑎: 𝐴𝑡 𝑦 ≤ 𝑐 𝐷

Este problema recibe la denominación de dual. De esta forma, (𝑃) es


denominado problema primal. Los problemas primal y dual están
estrechamente relacionados y el conocimiento de uno de ellos determina
totalmente el otro.
EJEMPLO
Ejemplo
Dado el problema:

min 5x1 + 12 x2 + 4 x3
s.a : 4 x1 + 6 x2 − 2 x3 − x4 = 20
( P)
2 x1 − 4 x2 + 4 x3 − x5 = 16
x j  0, j = 1,...,5

el problema dual es:

max 20 y1 + 16 y2
s. a : 4 y1 + 2 y2  5
6 y1 − 4 y2  12
− 2 y1 + 4 y2  4
( D)
− y1 0
− y2  0
EJEMPLO
Ejemplo
Dado el problema:

min 𝑐 𝑡 𝑥
𝑠. 𝑎: 𝐴𝑥 ≥ 𝑏 𝑃
𝑥≥0
Aplicando la definición anterior al problema:

min 𝑐 𝑡 𝑥
𝑠. 𝑎: 𝐴𝑥 − 𝐼𝑥 ′ = 𝑏 𝑃
𝑥, 𝑥′ ≥ 0

el problema dual es:

max 𝑏𝑡 𝑦
𝐴𝑡 𝑐
𝑠. 𝑎: 𝑦≤ 𝐷
−𝐼 0
Es decir:

max 𝑏𝑡 𝑦
𝑠. 𝑎: 𝐴𝑡 𝑦 ≤ 𝑐 𝐷
𝑦≥0
PROPIEDAD
Propiedad 1
El dual del dual es el primal

Demostración
El dual de un problema estándar es:
max 𝑏𝑡 𝑦
𝑠. 𝑎: 𝐴𝑡 𝑦 ≤ 𝑐

Es decir:
−min −𝑏𝑡 𝑦 1 − 𝑦 2
𝑠. 𝑎: 𝐴𝑡 𝑦 1 − 𝑦 2 + 𝑦 3 = 𝑐
𝑦1, 𝑦 2, 𝑦 3 ≥ 0

Por tanto, el dual de este será:


− max 𝑐 𝑡 𝑥
𝑠. 𝑎: 𝐴𝑥 ≤ −𝑏
−𝐴𝑥 ≤ 𝑏
𝑥≤0

Como −𝑥 ≥ 0, cambiando 𝑥 por −𝑥, este último problema coincide con el


primal.
CARACTERÍSTICAS GENERALES

Se observa que la anterior definición de dualidad es universal pues, con la


oportuna transformación, puede aplicarse a cualquier problema de
Programación Lineal. En cualquier caso, la relación de dualidad implica
que:

• El número de variables del primal coincide con el número de


restricciones del dual.

• El número de restricciones del primal es igual al número de variables


del dual.

• Los coeficientes de las variables en la función objetivo del primal son


las constantes en el dual.

• La matriz de coeficientes tecnológicos del dual es la traspuesta de la


correspondiente del primal.

• Si el primal es un problema de mínimo, el dual es un problema de


máximo. Si, por el contrario, el primal es de máximo, el dual es un
problema de mínimo.
TABLA DE TRANSFORMACIÓN

Además, existen determinadas relaciones entre el signo de las variables del


primal y el tipo de restricciones del dual. Dichas relaciones se especifican en
la siguiente tabla:

Primal → Dual
minimizar → maximizar
𝑥𝑗 ≥ 0 → ≤𝑗
𝑥𝑗 ≤ 0 → ≥𝑗
𝑥𝑗 sin signo (libre) → =𝑗
≥𝑖 → 𝑦𝑖 ≥ 0
≤𝑖 → 𝑦𝑖 ≤ 0
=𝑖 → 𝑦𝑖 sin signo (libre)

La aplicación de esta tabla será de izquierda a derecha cuando el problema


primal sea de mínimo. Si el problema primal es de máximo, la aplicación será
de derecha a izquierda.
EJEMPLO
Ejemplo
Dado el problema:

max − 7x1 + 10 x2 − 8 x3
s.a : 2 x1 − 6 x2 + 4 x3  10
− x1 + 3 x2 − 5 x3  12 ( P)
4x1 − 2 x2 + 8 x3 = −18
x1  0, x2  0

el problema dual es:

min 10y1 + 12 y2 − 18 y3
s. a : 2 y1 − y2 + 4 y3  −7
− 6 y1 + 3 y2 − 2 y3  10
( D)
4y1 − 5 y2 + 8 y3 = −8
y1  0, y2  0
RESULTADOS BÁSICOS

Resultados básicos de la dualidad


Directamente a partir de la definición de dualidad se tiene:
Propiedad 2
1) Cualquier solución factible del problema dual define una cota inferior
del valor óptimo del problema primal. Cualquier solución factible del
problema primal define una cota superior del valor óptimo del
problema dual.
2) Si (P) en no acotado, entonces (D) es no factible.
3) Si (D) es no acotado, entonces (P) es no factible.

Propiedad 3 (Condición de equilibrio)


Sean 𝑥ҧ una solución factible de (P) e 𝑦ത una solución factible de (D). Si
𝑐 𝑡 𝑥ҧ = 𝑏𝑡 𝑦ത , entonces 𝑥ҧ es solución óptima de (P) e 𝑦ത es solución óptima
de (D).
Demostración
∀𝑥, solución factible de (P), 𝑐 𝑡 𝑥ҧ = 𝑏𝑡 𝑦ത = 𝑦ത 𝑡 𝑏 = 𝑦ത 𝑡 𝐴𝑥 ≤ 𝑐 𝑡 𝑥, ya que 𝐴𝑥 = 𝑏,
𝑥 ≥ 0 e 𝑦ത 𝑡 𝐴 ≤ 𝑐 𝑡
∀𝑦, solución factible de (D), 𝑏𝑡 𝑦ത = 𝑐 𝑡 𝑥ҧ = 𝑥ҧ 𝑡 𝑐 ≥ 𝑥𝐴ҧ 𝑡 𝑦 = 𝑏𝑡 𝑦, ya que 𝐴𝑥ҧ = 𝑏,
𝑥ҧ ≥ 0 e 𝐴𝑡 𝑦 ≤ 𝑐.
RESULTADOS BÁSICOS
Ejemplo
Para el problema:
max 2x1 + 4 x2 − 4 x3 El correspondiente problema dual es:
s. a : − x1 + 2 x2 − x3 = 16
min 16y1 + 10 y2
2 x1 − 2 x2 + 2 x3 = 10
s. a : − y1 + 2 y2  2
x j  0, j = 1, 2,3
2 y1 − 2 y2  4
− y1 + 2 y2  −4
Para 𝑥ҧ 𝑡 = (26,21,0) e ഥ𝑦 𝑡 = (6,4) se cumple la propiedad anterior.
Propiedad 4 (Teorema fuerte de dualidad)
a) Si (P) tiene solución óptima, entonces (D) tiene solución óptima y los
valores óptimos de ambos problemas coinciden.
b) Si (D) tiene solución óptima, entonces (P) tiene solución óptima y los
valores óptimos de ambos problemas coinciden.
Demostración
Demostremos a). Si (P) tiene solución óptima, sea B la base óptima.
Entonces 𝑦ത 𝑡 = 𝑐𝐵 𝑡 𝐵−1 es:
•Solución factible del problema dual ya que 𝑦ത 𝑡 𝐴 = 𝑐𝐵 𝑡 𝐵−1 𝐴 = 𝑐𝐵 𝑡 , 𝑐𝐵 𝑡 𝐵−1 𝑁 ≤
𝑐𝐵 𝑡 , 𝑐𝑁 𝑡 al ser 𝑐𝑁
ҧ 𝑡 = 𝑐𝑁 𝑡 − 𝑐𝐵 𝑡 𝐵−1 𝑁 ≥ 0 (por ser B base óptima).
•Solución óptima del dual ya que 𝑦ത 𝑡 𝑏 = 𝑐𝐵 𝑡 𝐵−1 𝑏 (por la condición de
equilibrio)
RESULTADOS BÁSICOS

La demostración de b) se realiza de manera similar si tenemos en cuenta


que los problemas duales de problemas equivalentes son equivalentes.

En efecto. Si el dual:
max 𝑏𝑡 𝑦
𝑠. 𝑎: 𝐴𝑡 𝑦 ≤ 𝑐
tiene solución óptima, entonces tiene solución óptima el problema:
−min −𝑏𝑡 𝑦 1 − 𝑦 2
𝑠. 𝑎: 𝐴𝑡 𝑦 1 − 𝑦 2 + 𝑦 3 = 𝑐
𝑦1, 𝑦 2, 𝑦 3 ≥ 0
Aplicando la demostración efectuada para la parte a), se determina una
solución óptima para el problema dual de este:
− max 𝑐 𝑡 𝑥
𝑠. 𝑎: 𝐴𝑥 ≤ −𝑏
−𝐴𝑥 ≤ 𝑏
𝑥≤0
Por tanto, por lo argumentado anteriormente, se encuentra una solución
óptima para el primal (que coincide con el último problema) con valor
objetivo igual que el del dual.
RESULTADOS BÁSICOS
Ejemplo
Dado el siguiente problema de Programación Lineal:
min 5x1 − 2 x2 + x3
s. a : − x1 + 2 x2 − x3 = 10
2 x1 + x2 − 2 x3 = 6
x j  0, j = 1, 2,3
su problema dual es:
max 10y1 + 6 y2
s. a : − y1 + 2 y2  5
2 y1 + y2  −2
− y1 − 2 y2  1
La siguiente tabla contiene una solución óptima para el primal:

Vs. Básicas 𝑇 −1 Constantes


𝑥2 2/5 1/5 0 26/5
𝑥1 −1/5 2/5 0 2/5
−z 9/5 −8/5 1 42/5

La solución óptima del dual es (-9/5, 8/5)


RESULTADOS BÁSICOS
Como consecuencia de la propiedad anterior, obtenemos:
Corolario
a) Si (P) es factible y (D) es no factible, entonces (P) es no acotado.
b) Si (D) es factible y (P) es no factible, entonces (D) es no acotado.

Propiedad 5 (Condición de holguras complementarias)


Sean 𝑥ҧ solución factible de (P) e 𝑦ത solución factible de (D) . 𝑥ҧ es solución
óptima de (P) e 𝑦ത es solución óptima de (D) sí, y sólo si, (𝑐 − 𝐴𝑡 𝑦)
ത 𝑡 𝑥ҧ = 0 .
Demostración
𝑥ҧ es solución óptima de (P) e 𝑦ത es solución óptima de (D) sí, y sólo si,
ത 𝑡 𝑥ҧ = 0 .
𝑐 𝑡 𝑥ҧ − 𝑏𝑡 𝑦ത = 𝑐 𝑡 𝑥ҧ − 𝑦ത 𝑡 𝐴𝑥ҧ = (𝑐 − 𝐴𝑡 𝑦)
Notamos 𝑣ҧ 𝑡 = 𝑐 − 𝐴𝑡 𝑦ത 𝑡 ≥ 0 . Claramente, 𝑣ҧ 𝑡 𝑥ҧ = 0 es equivalente a 𝑣𝑗ҧ 𝑥𝑗ҧ = 0, ∀𝑗 ∈
{1, … , 𝑛} .

Ejemplo
Para el siguiente problema de Programación Lineal:

max 3𝑥1 − 5𝑥2 − 𝑥3


𝑠. 𝑎: 𝑥1 − 2𝑥2 +𝑥3 = 7
−𝑥1 +𝑥2 +2𝑥3 = 8
𝑥1 , 𝑥2 , 𝑥3 ≥ 0
RESULTADOS BÁSICOS
el problema dual es: min 7y1 + 8y2
s. a: y1 − y2 ≥ 3
−2y1 + y2 ≥ −5
y1 + 2y2 ≥ −1

Sean 𝑥ҧ 𝑡 = (2,0,5) e 𝑦ത 𝑡 = (5/3, −4/3) soluciones factibles del primal y el dual,


respectivamente. Se observa que 𝑣ҧ1 = 0, 𝑣ҧ 2 = 1/3 y 𝑣ҧ 3 = 0 . Por tanto 𝑣𝑗ҧ 𝑥𝑗ҧ = 0,
∀𝑗 ∈ 1,2,3 , y se verifican las condiciones de holguras complementarias.
Ejemplo
Para el siguiente problema de Programación Lineal:

min 3𝑥1 + 4𝑥2


max 10𝑦1 + 12𝑦2
𝑠. 𝑎: 2𝑥1 + 𝑥2 ≥ 10
su dual es 𝑠. 𝑎: 2𝑦1 − 2𝑦2 ≤ 3
−2𝑥1 + 2𝑥2 ≥ 12
𝑦1 + 2𝑦2 ≤ 4
𝑥1 , 𝑥2 ≥ 0
𝑦1 , 𝑦2 ≥ 0
4 22 7 5
𝑥ҧ 𝑡 = (3 , 3 ) e 𝑦ത 𝑡 = (3 , 6) soluciones factibles del primal y el dual,
respectivamente para las que se verifican las condiciones de holguras
complementarias
RESULTADOS BÁSICOS
Holguras duales y costos relativos
Dado el problema:
min 𝑐 𝑡 𝑥
𝑠. 𝑎: 𝐴𝑥 = 𝑏 𝑃
𝑥≥0
Si conocemos una base 𝐵 para 𝐴, el problema anterior se puede escribir:

min 𝑐𝐵𝑡 𝑥𝐵 + 𝑐𝑁𝑡 𝑥𝑁 El correspondiente dual es:


𝑠. 𝑎: 𝐵𝑥𝐵 + 𝑁𝑥𝑁 = 𝑏 𝑃 max 𝑏𝑡 𝑦
𝑥𝐵 , 𝑥𝑁 ≥ 0 𝑠. 𝑎: 𝐵𝑡 𝑦 ≤ 𝑐𝐵 𝐷
𝑁 𝑡 𝑦 ≤ 𝑐𝑁
Para 𝑦ത 𝑡 = 𝑐𝐵 𝑡 𝐵−1 , las holguras duales:
𝑣ҧ 𝑡 = 𝑐𝐵𝑡 − 𝑐𝐵 𝑡 𝐵 −1 𝐵, 𝑐𝑁𝑡 − 𝑐𝐵 𝑡 𝐵−1 𝑁 = 0, 𝑐𝑁
ҧ𝑡
Si el problema primal es:
max 𝑐 𝑡 𝑥
El correspondiente dual es: m𝑖𝑛 𝑏𝑡 𝑦
𝑠. 𝑎: 𝐴𝑥 = 𝑏 𝑃 𝑠. 𝑎: 𝐵𝑡 𝑦 ≥ 𝑐𝐵 𝐷
𝑥≥0 𝑁 𝑡 𝑦 ≥ 𝑐𝑁

Para 𝑦ത 𝑡 = 𝑐𝐵 𝑡 𝐵−1 , las holguras duales:


𝑣ҧ 𝑡 = 𝑐𝐵 𝑡 𝐵−1 𝐵 − 𝑐𝐵𝑡 , 𝑐𝐵 𝑡 𝐵 −1 𝑁 −𝑐𝑁𝑡 = 0, −𝑐𝑁
ҧ𝑡
MÉTODO SIMPLEX DUAL
Método Simplex Dual
La introducción de la dualidad permite modificar la definición de solución
básica factible. Si recordamos que una solución básica tiene asociada una
base B de A, diremos que una de estas soluciones es factible primal si 𝐵 −1 𝑏 ≥
0 . Una solución básica es factible dual cuando 𝑐 𝑡 − 𝑐𝐵 𝑡 𝐵−1 𝐴 ≥ 0 (para el
problema estándar de mínimo). Como consecuencia, una solución básica es
óptima cuando es, a la vez, factible primal y factible dual. Todo esto es válido
si sustituimos solución básica por base.
En la versión del método del simplex desarrollada hasta ahora, se generan
soluciones básicas factibles primales hasta encontrar una solución básica que
sea a la vez factible primal y factible dual y, por tanto, óptima. Las
definiciones anteriores permiten una búsqueda alternativa en la que se
generarían soluciones básicas factibles duales hasta encontrar una en la que,
además, se dé la condición de solución básica factible primal. Esta última
forma de actuar es la del Método Simplex Dual. El paralelismo con
actuaciones previas otorgaría la denominación de Método Simplex Primal al
que hemos desarrollado anteriormente.
Desarrollaremos dicho método actuando sobre el siguiente ejemplo.
min 5𝑥1 + 12𝑥2 + 4𝑥3
𝑠. 𝑎: −4𝑥1 − 6𝑥2 +2𝑥3 +𝑥4 = −20
−2𝑥1 +4𝑥2 −4𝑥3 +𝑥5 = −16
𝑥𝑗 ≥ 0, 𝑗 = 1, … , 5
MÉTODO SIMPLEX DUAL
Se observa que es fácil identificar una solución básica inicial que tiene a 𝑥4 y
𝑥5 como variables básicas. Los costos relativos de las variables no básicas
coinciden con los costos iniciales. A ser estos no negativos, la solución básica
inicial es factible dual.
La tabla inicial es:
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 −z Constantes
𝑥4 −4 −6 2 1 0 0 −20
𝑥5 −2 4 −4 0 1 0 −16
−z 5 12 4 0 0 1 0

Las dos variables básicas toman valor negativo. La transformación del


sistema actual en otro equivalente impone una operación de pivotaje que, si
pretende mejorar el estatus asociado a una de las variables básicas, se ha de
efectuar sobre un elemento negativo. Concretamente, si 𝑥4 es la variable
elegida para salir de la base, 𝑥1 o 𝑥2 (pivotando sobre −4 y −6,
respectivamente) serían candidatas a sustituirle. Si en la fila (actualizada)
asociada a la variable básica que sale de la base no hay coeficientes
negativos, el problema es no factible. Como interesa preservar la condición
de factibilidad dual para la solución básica que resulte, es necesario calcular:
5 12 5
max , =−
−4 −6 4
Por ello, la variable 𝑥1 debe entrar en la base. Obtenemos entonces:
MÉTODO SIMPLEX DUAL

V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 −z Constantes
𝑥1 1 3/2 −1/2 −1/4 0 0 5
𝑥5 0 7 −5 −1/2 1 0 −6
−z 0 9/2 13/2 5/4 0 1 −25

Ahora la variable 𝑥5 debe dejar de ser básica. Como:

13/2 5/4 13
max , =−
−5 −1/2 10

la variable que entra en la base es 𝑥3 . La nueva tabla es:

V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 −z Constantes
𝑥1 1 4/5 0 −1/5 −1/10 0 28/5
𝑥3 0 −7/5 1 1/10 −1/5 0 6/5
−z 0 68/5 0 3/5 13/10 1 −164/5

Esta tabla es óptima.


MÉTODO SIMPLEX DUAL

La variable candidata a salir de la base puede ser cualquier variable básica


que, en la correspondiente iteración, tome valor negativo. Fijaremos como
criterio general, seleccionar la que tome valor más negativo: 𝑥𝑟 = 𝑏ത𝑟 < 0.
La operación de pivotaje debe realizarse sobre un 𝑦𝑟𝑗 < 0 de forma que, en
la siguiente iteración, los costos relativos mantengan la factibilidad dual
(condición de optimalidad). Si 𝑦𝑟𝑗 ≥ 0, ∀𝑗 ∈ 𝑁, el problema planteado es no
factible. En otro caso, supongamos que 𝑦𝑟𝑠 < 0 es el pivote.
Si el problema es de mínimo, la condición de factibilidad dual impone que:
𝑐𝑠ҧ
𝑐𝑗ҧ − 𝑦 ≥0
𝑦𝑟𝑠 𝑟𝑗
𝑐ҧ
Si 𝑦𝑟𝑗 ≥ 0, es obvio que 𝑐𝑗ҧ − 𝑦 𝑠 𝑦𝑟𝑗 ≥ 0.
𝑟𝑠

𝑐ҧ 𝑐𝑠ҧ 𝑐𝑗ҧ
Si 𝑦𝑟𝑗 < 0, para que 𝑐𝑗ҧ − 𝑦 𝑠 𝑦𝑟𝑗 ≥ 0 es necesario que ≥ 𝑦 . Por esta razón,
𝑟𝑠 𝑦𝑟𝑠 𝑟𝑗
𝑐𝑠ҧ 𝑐𝑗ҧ
la variable que entra en la base es la 𝑥𝑠 en la que = max |𝑦𝑟𝑗 < 0 .
𝑦𝑟𝑠 𝑦𝑟𝑗
Si el problema fuese de máximo, un razonamiento paralelo establecería
𝑐𝑠ҧ 𝑐𝑗ҧ
que la variable que entra en la base es la 𝑥𝑠 en la que 𝑦𝑟𝑠
= min 𝑦𝑟𝑗
|𝑦𝑟𝑗 < 0
MÉTODO SIMPLEX DUAL
Se observa que la progresión en la aplicación del Simplex Dual mantiene una
relación de dualidad con lo realizado al aplicar el Simplex Primal. En el
primero se selecciona en primer lugar la variable que sale de la base
mientras que en el segundo la primera etapa corresponde a la selección de la
variable que entra. Si la fila actualizada asociada a la variable que sale de la
base es de términos no negativos, el Simplex Dual concluye con la no
factibilidad del problema (hay que recordar que, al aplicar el Simplex Primal,
si la columna actualizada de la variable que entra en la base es de términos
no positivos, se detecta la no acotación del problema).
Redundando en la relación de dualidad, el Simplex Primal preserva en cada
iteración la condición de factibilidad primal (columna de constantes) mientras
que el Simplex Dual preserva la condición de factibilidad dual (fila de costos
relativos).

Un esquema del Método Simplex Dual puede ser el siguiente:

Inicio
Determinar una solución básica factible dual inicial.
Mientras
No se detecte la optimalidad o la no factibilidad del problema, encontrar una
solución básica factible dual mejor.
APLICACIÓN DEL MÉTODO SIMPLEX DUAL
Ejemplo
Resolver, aplicando el Método Simplex Dual, el problema:
max − 6 x1 − 6 x2 − 2 x3
s.a : − 2 x1 − 3 x2 + 4 x3 + x4 = −12
− 2 x1 + 2 x2 − 4 x3 + x5 = −10
x j  0, j = 1,...,5
Solución
La tabla inicial es:

V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 −z Constantes
𝑥4 −2 −3 4 1 0 0 −12
𝑥5 −2 2 −4 0 1 0 −10
−z −6 −6 −2 0 0 1 0

Observamos que la variable 𝑥4 debe dejar de ser básica. Para determinar la


variable que debe entrar en la base, calculamos:
 −6 −6 
min  ,  = 2
 −2 −3 
Por tanto, 𝑥2 debe entrar en la base. La nueva tabla es:
APLICACIÓN DEL MÉTODO SIMPLEX DUAL

V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 −z Constantes
𝑥2 2/3 1 −4/3 −1/3 0 0 4
𝑥5 −10/3 0 −4/3 2/3 1 0 −18
−z −2 0 −10 −2 0 1 24

La variable 𝑥5 debe dejar de ser básica. Al ser:


 −2 −10  3
min  , =
 −10 / 3 −4 / 3  5

entra en la base 𝑥1 . Obtenemos entonces la tabla:

V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 −z Constantes
𝑥2 0 1 −8/5 −1/5 −1/5 0 2/5
𝑥1 1 0 2/5 −1/5 −3/10 0 27/5
−z 0 0 −46/5 −12/5 −3/5 1 174/5

Esta tabla es óptima.


APLICACIÓN DEL MÉTODO SIMPLEX DUAL
Ejemplo
Resolver, aplicando el Método Simplex Dual, el problema:
min 2x1 + 6 x2 + 2 x3
s.a : − 2 x1 − 4 x2 + 6 x3 + x4 = −10
2 x1 + 4 x2 − 4 x3 + x5 = −6
Solución x j  0, j = 1,...,5
La tabla inicial es:
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 −z Constantes
𝑥4 −2 −4 6 1 0 0 −10
𝑥5 2 4 −4 0 1 0 −6
−z 2 6 2 0 0 1 0
La variable 𝑥4 es candidata a salir de la base. Como:
2 6
max  ,  = −1
 −2 −4 
La variable 𝑥1 debe entrar en la base. La nueva tabla es:
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 −z Constantes
𝑥1 1 2 −3 −1/2 0 0 5
𝑥5 0 0 2 1 1 0 −16
−z 0 2 8 1 0 1 −10
APLICACIÓN DEL MÉTODO SIMPLEX DUAL REVISADO
Resulta que la variable 𝑥5 es candidata a entrar en la base. Como la fila
actualizada es de términos no negativos, se detecta la no factibilidad del
problema.
La fórmula simplex revisado puede ser adaptada automáticamente para
aplicar el Método Simplex Dual:
Ejemplo
Resolver, aplicando el Método Simplex Revisado Dual, el problema:
max − 2 x1 − 2 x2 − 3 x3
s.a : − x1 + 2 x2 − x3 + x4 = −10
x1 − 2 x2 + x3 + x5 = −8
x j  0, j = 1,...,5
Solución
La tabla inversa inicial es:

Vs. Básicas 𝑇1 −1 Constantes


𝑥4 1 0 0 −10
𝑥5 0 1 0 −8
−z 0 0 1 0

Observamos que la solución básica inicial es factible dual pero no factible


primal. Por la aplicación del Método Simplex Dual, la variable 𝑥4 debe salir
de la base. Como la fila asociada a la variable candidata a salir es:
APLICACIÓN DEL MÉTODO SIMPLEX DUAL REVISADO

 −1 2 −1 1 0 
(1,0,0 )  1 −2 1 0 1  = ( −1, 2, −1,1,0 )
 −2 −2 −3 0 0 
 
y los costos relativos son:

 −1 2 −1 1 0 
( 0,0,1)  1 −2 1 0 1  = ( −2, −2, −3,0,0 )
 −2 −2 −3 0 0 
 
para detectar la variable que entra en la
base, hallamos:  −2 −3 
min  ,  = 2
 −1 −1 
Es decir, la variable 𝑥1 debe entrar en la base:
Vs. Básicas 𝑇1 −1 Constantes Col. Piv. (𝑥1 )
𝑥4 1 0 0 −10 −1
𝑥5 0 1 0 −8 1
−z 0 0 1 0 −2

La nueva tabla es:


APLICACIÓN DEL MÉTODO SIMPLEX DUAL REVISADO

Vs. Básicas 𝑇2 −1 Constantes


𝑥4 −1 0 0 10
𝑥5 1 1 0 −18
−z −2 0 1 20

La variable 𝑥5 debe salir de la base. La fila asociada actualizada es:

 −1 2 −1 1 0 
(1,1,0 )  1 −2 1 0 1  = ( 0,0,0,1,1)
 −2 −2 −3 0 0 
 
Por tanto, el problema es no factible
INICIO DEL MÉTODO SIMPLEX DUAL
Supongamos que se dispone de una base inicial que no es factible dual. Esto
significa que alguna variable no básica tiene costo relativo negativo. Sea 𝑐𝑠ҧ =
min 𝑐𝑗ҧ |𝑗 ∈ 𝑁 < 0. Sin pérdida de generalidad, podemos considerar que la base
es la identidad y que está asociada a las primeras m columnas.
Planteamos el problema:
𝑛

min ෍ 𝑐𝑗 𝑥𝑗
𝑗=1
𝑛

𝑠. 𝑎: 𝑥𝑖 + ෍ 𝑦𝑖𝑗 𝑥𝑗 = 𝑏ത𝑖 , 𝑖 = 1, … , 𝑚 𝑃𝑀
𝑗=𝑚+1
𝑛

𝑥0 + ෍ 𝑥𝑗 = 𝑀
𝑗=𝑚+1
𝑥0 ≥ 0, 𝑥𝑗 ≥ 0, 𝑗 = 1, … , 𝑛

siendo 𝑀 > 0 suficientemente grande.


Se observa que, al añadir la restricción 𝑥0 + σ𝑛𝑗=𝑚+1 𝑥𝑗 = 𝑀 , o, lo que es lo
mismo, σ𝑛𝑗=𝑚+1 𝑥𝑗 ≤ 𝑀, se pretende que el nuevo problema sea equivalente al
inicial.
Se observa que 𝑥0 es variable básica inicial en 𝑃𝑀 . Si 𝑥0 es sustituida en la
base por 𝑥𝑠 , se obtiene una solución básica factible dual para 𝑃𝑀 .
INICIO DEL MÉTODO SIMPLEX DUAL
Efectivamente. En la tabla asociada a dicho problema leemos:

V. B. 𝑥0 𝑥1 … 𝑥𝑚 𝑥𝑚+1 … 𝑥𝑠 … 𝑥𝑛 -z Ctes.
𝑥0 1 0 0 0 1 … 1 … 1 0 M
𝑥1 0 1 0 0 𝑦1𝑚+1 … 𝑦1𝑠 … 𝑦1𝑛 0 𝑏ത1

𝑥𝑚 0 0 0 1 𝑦𝑚𝑚+1 … 𝑦𝑚𝑠 … 𝑦𝑚𝑛 0 𝑏ത𝑚
-z 0 0 0 0 𝑐𝑚+1
ҧ … 𝑐𝑠ҧ … 𝑐𝑛ҧ 1 −𝑧 ҧ
Al meter 𝑥𝑠 en la base, en sustitución de 𝑥0 , los nuevos costos relativos serán
−𝑐𝑠ҧ ≥ 0 para 𝑥0 , 0 para 𝑥𝑗 cuando 𝑗 ∈ 1, … , 𝑚 ∪ 𝑠 , 𝑐𝑗ҧ − 𝑐𝑠ҧ ≥ 0 para 𝑥𝑗 cuando 𝑗 ∈
𝑚 + 1, … , 𝑛 − 𝑠 .
Por tanto, al disponer de una solución básica factible dual inicial, el Método
Simplex Dual puede ser aplicado sobre 𝑃𝑀 . Se puede concluir con que:
• 𝑷𝑴 es no factible. En este caso, el problema inicial es no factible.
• 𝑷𝑴 tiene solución óptima con 𝒙𝟎 como variable básica. En este
caso, la única variable básica que depende de M es 𝒙𝟎 . Por tanto, la
simple eliminación de 𝒙𝟎 posibilita obtener una solución óptima
para el problema inicial.
INICIO DEL MÉTODO SIMPLEX DUAL
Para comprobar esto basta con observar que la base que se maneja es:
1 𝛽𝑡
0 𝐵
siendo B una base del problema inicial y 𝛽 𝑡 el vector de coeficientes de las
variables básicas distintas de 𝑥0 en la restricción artificial.
La inversa de esta matriz es:
1 −𝛽 𝑡 𝐵 −1
0 𝐵−1
y la tabla inversa:
1 −𝛽 𝑡 𝐵−1 0
0 𝐵 −1 0
0 −𝑐𝐵 𝐵𝑡 −1 1
Esto hace que el vector actualizado de constantes sea:
𝑥0 𝑀 −𝛽 𝑡 𝐵 −1 𝑏
𝑥𝐵 = 𝐵 −1 𝑏
−𝑧𝑀ҧ −𝑐𝐵 𝑡 𝐵−1 𝑏

• 𝑷𝑴 tiene solución óptima en la que 𝒙𝟎 no es variable básica. Si la


función objetivo depende de M, el problema inicial es no acotado.
Si la función objetivo no depende de M, fijando un “valor
conveniente” para M, se obtiene una solución óptima del problema
inicial.
INICIO DEL MÉTODO SIMPLEX DUAL

Al añadir la restricción artificial, con 𝑀 > 0 suficientemente grande, se


trabaja sobre un problema equivalente al planteado inicialmente. La
siguiente gráfica ilustra la situación:

Región factible acotada Región factible no acotada

El caso en el que el problema planteado es no factible deriva,


obviamente, en un problema auxiliar no factible.
EJEMPLOS
1.Resolver, aplicando el Método Simplex Dual, el problema:
min 2𝑥1 + 6𝑥2 − 4𝑥3
𝑠. 𝑎: −2𝑥1 − 4𝑥2 + 6𝑥3 + 𝑥4 = −10
−𝑥1 + 4𝑥2 − 4𝑥3 + 𝑥5 = −16
𝑥𝑗 ≥ 0, 𝑗 = 1, … , 5

Según lo indicado anteriormente, añadimos la restricción:


𝑥0 + 𝑥1 + 𝑥2 + 𝑥3 = 𝑀
sobre la tabla:
V. Básicas 𝑥0 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 −𝑧𝑀 Constantes
𝑥0 1 1 1 1 0 0 0 M
𝑥4 0 -2 -4 6 1 0 0 -10
𝑥5 0 -1 4 -4 0 1 0 -16
−𝑧𝑀 0 2 6 -4 0 0 1 0
Si 𝑥3 entra en la base en sustitución de 𝑥0 , tenemos:
V. Básicas 𝑥0 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 −𝑧𝑀 Constantes
𝑥3 1 1 1 1 0 0 0 M
𝑥4 -6 -8 -10 0 1 0 0 -10-6M
𝑥5 4 3 8 0 0 1 0 -16+4M
−𝑧𝑀 4 6 10 0 0 0 1 4M

La variable 𝑥0 debe sustituir en la base a 𝑥4 .


EJEMPLOS
V. Básicas 𝑥0 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 −𝑧𝑀 Constantes
𝑥3 0 -1/3 -2/3 1 1/6 0 0 -5/3
𝑥0 1 4/3 5/3 0 -1/6 0 0 5/3+M
𝑥5 0 -7/3 4/3 0 2/3 1 0 -68/3
−𝑧𝑀 0 2/3 10/3 0 2/3 0 1 -20/3
La variable 𝑥1 debe sustituir en la base a 𝑥5 .
V. Básicas 𝑥0 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 −𝑧𝑀 Constantes
𝑥3 0 0 -6/7 1 1/14 -1/7 0 11/7
𝑥0 1 0 17/7 0 3/14 4/7 0 -79/7+M
𝑥1 0 1 -4/7 0 -2/7 -3/7 0 68/7
−𝑧𝑀 0 0 26/7 0 6/7 2/7 1 -92/7
Esta tabla es óptima para 𝑃𝑀 . Como 𝑥0 es variable básica, la solución del
problema inicial resulta de eliminar esta variable en la solución de 𝑃𝑀 .

2.Resolver, aplicando el Método Simplex Dual, el problema:


min −3𝑥1 − 2𝑥2 + 2𝑥3
𝑠. 𝑎: −2𝑥1 − 2𝑥2 + 2𝑥3 + 𝑥4 = −12
−𝑥1 +2𝑥2 − 𝑥3 + 𝑥5 = −8
𝑥𝑗 ≥ 0, 𝑗 = 1, … , 5
Añadiendo la la restricción 𝑥0 + 𝑥1 + 𝑥2 + 𝑥3 = 𝑀, la tabla inicial es:
EJEMPLOS

V. Básicas 𝑥0 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 −𝑧𝑀 Constantes


𝑥0 1 1 1 1 0 0 0 M
𝑥4 0 -2 -2 1 1 0 0 -12
𝑥5 0 -1 2 -1 0 1 0 -8
−𝑧𝑀 0 -3 -2 2 0 0 1 0

Como 𝑥1 entra en la base en sustitución de 𝑥0 , obtenemos:

V. Básicas 𝑥0 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 −𝑧𝑀 Constantes


𝑥1 1 1 1 1 0 0 0 M
𝑥4 2 0 0 2 1 0 0 -12+2M
𝑥5 1 0 3 0 0 1 0 -8+M
−𝑧𝑀 3 0 1 5 0 0 1 3M
En esta tabla se detecta la optimalidad para 𝑃𝑀 , con 𝑥0 como variable no
básica y con el valor objetivo dependiendo de M. Por tanto, el problema
inicial es no acotado.
EJEMPLOS
3.Resolver, aplicando el Método Simplex Dual, el problema:
min −𝑥1 + 3𝑥2
𝑠. 𝑎: 𝑥1 + 𝑥2 + 𝑥3 =2
−3𝑥1 + 𝑥4 = −9
𝑥𝑗 ≥ 0, 𝑗 = 1, … , 4

En este caso, añadimos la restricción:


𝑥0 + 𝑥1 + 𝑥2 = 𝑀
La tabla inicial es:
V. Básicas 𝑥0 𝑥1 𝑥2 𝑥3 𝑥4 −𝑧𝑀 Constantes
𝑥0 1 1 1 0 0 0 M
𝑥3 0 1 1 1 0 0 2
𝑥4 0 -3 0 0 1 0 -9
−𝑧𝑀 0 -1 3 0 0 1 0
Si 𝑥1 entra en la base en sustitución de 𝑥0 , tenemos:
V. Básicas 𝑥0 𝑥1 𝑥2 𝑥3 𝑥4 −𝑧𝑀 Constantes
𝑥1 1 1 1 0 0 0 M
𝑥3 -1 0 0 1 0 0 2-M
𝑥4 3 0 3 0 1 0 -9+3M
−𝑧𝑀 1 0 4 0 0 1 M

La variable 𝑥0 debe sustituir en la base a 𝑥3 .


EJEMPLOS

V. Básicas 𝑥0 𝑥1 𝑥2 𝑥3 𝑥4 −𝑧𝑀 Constantes


𝑥1 0 1 1 1 0 0 2
𝑥0 1 0 0 -1 0 0 -2+M
𝑥4 0 0 3 3 1 0 -3
−𝑧𝑀 0 0 4 1 0 1 2

En esta tabla se detecta la no factibilidad del problema 𝑃𝑀 . Por ello, el


problema inicial es no factible.
4 Resolver el siguiente problema aplicando el Método Simplex Dual:
min 2𝑥1 − 2𝑥2
𝑠. 𝑎: −2𝑥1 + 2𝑥2 + 𝑥3 = −4
2𝑥1 −2𝑥2 + 𝑥4 = 6
𝑥𝑗 ≥ 0, 𝑗 = 1, … , 4

Solución:
Si añadimos la oportuna restricción artificial:
𝑥0 + 𝑥1 + 𝑥2 = 𝑀
obtenemos la tabla:
EJEMPLOS

V.B. 𝑥0 𝑥1 𝑥2 𝑥3 𝑥4 −𝑧𝑀 Ctes.


𝑥0 1 1 1 0 0 0 M
𝑥3 0 -2 2 1 0 0 -4
𝑥4 0 2 -2 0 1 0 6
−𝑧𝑀 0 2 -2 0 0 1 0
𝑥2 entra en la base en lugar de 𝑥0 . La nueva tabla es:
V.B. 𝑥0 𝑥1 𝑥2 𝑥3 𝑥4 −𝑧𝑀 Ctes.
𝑥2 1 1 1 0 0 0 M
𝑥3 -2 -4 0 1 0 0 -4-2M
𝑥4 2 4 0 0 1 0 6+2M
−𝑧𝑀 2 4 0 0 0 1 2M
𝑥1 puede entrar en la base en lugar de 𝑥3 :

V.B. 𝑥0 𝑥1 𝑥2 𝑥3 𝑥4 −𝑧𝑀 Ctes.


𝑥2 1/2 0 1 1/4 0 0 -1+M/2
𝑥1 1/2 1 0 -1/4 0 0 1+M/2
𝑥4 0 0 0 1 1 0 2
−𝑧𝑀 0 0 0 1 0 1 -4
EJEMPLOS

Esta tabla es óptima y el valor óptimo del problema modificado no depende


de 𝑀. Para determinar una solución optima del problema inicial basta con
fijar un valor para 𝑀 que haga a todas las variables básicas no negativas.
Por ejemplo, valdría con hacer 𝑀 = 2.
Se observa que la tabla anterior tiene una solución básica óptima
alternativa:
V.B. 𝑥0 𝑥1 𝑥2 𝑥3 𝑥4 −𝑧𝑀 Ctes.
𝑥0 1 0 2 1/2 0 0 -2+M
𝑥1 0 1 -1 -1/2 0 0 2
𝑥4 0 0 0 1 1 0 2
−𝑧𝑀 0 0 0 1 0 1 -4

Por tanto, cualquier punto del segmento de recta:


0 −2 + 𝑀
1 + 𝑀/2 2
𝛿 −1 + 𝑀/2 + 1 − 𝛿 0 , 𝛿 ∈ 0,1
0 0
2 2

es solución óptima del problema penalizado


EJEMPLOS

1−𝛿 𝜇
2 + 𝜇𝛿/2
Si𝜇 = 𝑀 −2 ≥ 0, 𝜇𝛿/2 , 𝛿 ∈ 0,1 , es solución óptima del problema
0
2
penalizado.
2
0
Haciendo 𝑀 = 2, es una solución óptima del problema inicial.
0
2
2 1
0 1
Si 𝜇 ≥ 0 (𝑀 ≥ 2), cualquier punto de la semirrecta +𝜇 es solución
0 0
2 0
óptima del problema inicial.

5 Resolver el siguiente problema aplicando el Método Simplex Dual


Revisado:
min −𝑥1 − 3𝑥2
𝑠. 𝑎: −𝑥1 + 2𝑥2 + 𝑥3 = −4
2𝑥1 −𝑥2 + 𝑥4 = −8
𝑥𝑗 ≥ 0, 𝑗 = 1, … , 4
EJEMPLOS
Solución:
Añadimos la restricción artificial:
𝑥0 + 𝑥1 + 𝑥2 = 𝑀
Y obtenemos el problema auxiliar:
min −𝑥1 − 3𝑥2
𝑠. 𝑎: 𝑥0 + 𝑥1 + 𝑥2 = 𝑀
−𝑥1 + 2𝑥2 + 𝑥3 = −4
2𝑥1 −𝑥2 + 𝑥4 = −8
𝑥𝑗 ≥ 0, 𝑗 = 0,1, … , 4
La tabla inversa inicial es:
V. B. 𝑇1 −1 Ctes. Col. Piv.(𝑥2 )
𝑥0 1 0 0 0 𝑀 1
𝑥3 0 1 0 0 -4 2
𝑥4 0 0 1 0 -8 -1
−𝑧𝑀 0 0 0 1 0 -3

La variable 𝑥2 debe sustituir a 𝑥0 en la base. Se obtiene:


EJEMPLOS

V. B. 𝑇2 −1 Ctes. Col. Piv.(𝑥1 )


𝑥2 1 0 0 0 𝑀 1
𝑥3 -2 1 0 0 -4-2𝑀 -3
𝑥4 1 0 1 0 -8+𝑀 3
−𝑧𝑀 3 0 0 1 3𝑀 2

La variable 𝑥3 debe salir de la base. La segunda fila actualizada es:


1 1 1 0 0
0 −1 2 1 0
−2,1,0,0 = −2, −3,0,1,0
0 2 −1 0 1
0 −1 −3 0 0
Los costos relativos son:
1 1 1 0 0
0 −1 2 1 0
3,0,0,1 = 3,2,0,0,0
0 2 −1 0 1
0 −1 −3 0 0
Como:
3 2 2
𝑚𝑎𝑥 − , − = −
2 3 3
la variable 𝑥1 entra en la base. La nueva tabla inversa es:
EJEMPLOS

V. B. 𝑇3 −1 Ctes. Col. Piv.(𝑥0 )


𝑥2 1/3 1/3 0 0 -4/3+𝑀/3 1/3
𝑥1 2/3 -1/3 0 0 4/3+2𝑀/3 2/3
𝑥4 -1 1 1 0 -12-𝑀 -1
−𝑧𝑀 5/3 2/3 0 1 -8/3+5𝑀/3 5/3

La variable 𝑥4 debe salir de la base. La tercera fila actualizada es:


1 1 1 0 0
0 −1 2 1 0
−1,1,1,0 = −1,2,0,1,1
0 2 −1 0 1
0 −1 −3 0 0
Los costos relativos son:
1 1 1 0 0
5 2 0 −1 2 1 0 5 2
, , 0,1 = , 0,0, , 0
3 3 0 2 −1 0 1 3 3
0 −1 −3 0 0
la variable 𝑥0 entra en la base. La nueva tabla inversa es:
EJEMPLOS

V. B. 𝑇4 −1 Ctes.
𝑥2 0 2/3 1/3 0 -16/3
𝑥1 0 1/3 2/3 0 -20/3
𝑥0 1 -1 -1 0 12+𝑀
−𝑧𝑀 0 7/3 5/3 1 -68/3

La variable 𝑥1 debe salir de la base. La segunda fila actualizada es:


1 1 1 0 0
1 2 0 −1 2 1 0 1 2
0, , , 0 = 0,1,0, ,
3 3 0 2 −1 0 1 3 3
0 −1 −3 0 0

Al ser el problema penalizado no factible, se concluye que el problema


inicial también lo es.
MÉTODO PRIMAL DUAL
Parte con una solución factible dual para la que fuerza la condición de
holguras complementarias y, por tanto, el diseño de una solución primal. Si
esta última es factible, se detecta la optimalidad; en otro caso, se cambia de
solución factible dual y se repite.
Dado el problema:
min 𝑐 𝑡 𝑥
𝑠. 𝑎: 𝐴𝑥 = 𝑏 𝑃
𝑥≥0
su dual es:
max 𝑏𝑡 𝑦
𝑠. 𝑎: 𝐴𝑡 𝑦 ≤ 𝑐 𝐷
• Si 𝑐 ≥ 0, una solución factible dual inicial será 𝑦 1 = 0.
• Si ∃𝑗 ∈ 1, … , 𝑛 , 𝑐𝑗 < 0, elegimos 𝑀 > 0, suficientemente grande, para que el
problema:
min 𝑐 𝑡 𝑥
𝑠. 𝑎: 𝐴𝑥 = 𝑏
𝑛

෍ 𝑥𝑗 ≤ 𝑀
𝑗=1
𝑥≥0
sea equivalente a 𝑃 .
El dual de este problema (equivalente a 𝐷 ) es:
MÉTODO PRIMAL DUAL
max 𝑏𝑡 𝑦 + 𝑀𝑦𝑚+1
𝑠. 𝑎: 𝐴𝑡 𝑦 + 𝟏𝑦𝑚+1 ≤ 𝑐
𝑦𝑚+1 ≤ 0
𝟏 ∈ 𝑅𝑛 es un vector de unos.
Una solución factible inicial para este problema sería 𝑦 1 = 0, 𝑦𝑚+1
1
= min 𝑐𝑗 .
𝑗
En cualquier caso, tenemos una solución factible dual inicial 𝑦1.
En la etapa k, la solución factible dual será 𝑦 𝑘 . Sea 𝐽𝑘 = 𝑗| σ𝑚
𝑖=1 𝑎𝑖𝑗 𝑦𝑖 = 𝑐𝑗 .
𝑘

Si existe una solución factible primal, 𝑥 𝑘 , tal que 𝑥𝑗𝑘 = 0, ∀𝑗 ∉ 𝐽𝑘 , se verifican


las condiciones de holguras complementarias y, por tanto, 𝑥 𝑘 e 𝑦 𝑘 son
soluciones óptimas de 𝑃 y 𝐷 , respectivamente.
Para diseñar 𝑥 𝑘 , usamos el siguiente problema auxiliar con variables
artificiales:
𝑚

min ෍ 𝑥𝑖𝑎
𝑖=1
𝑠. 𝑎: σ𝑗∈𝐽𝑘 𝑎𝑖𝑗 𝑥𝑗 + 𝑥𝑖𝑎 = 𝑏𝑖 𝑃𝑎
𝑥𝑗 ≥ 0, ∀𝑗 ∈ 𝐽𝑘 , 𝑥𝑖𝑎 ≥ 0, 𝑖 = 1, … , 𝑚
Este problema siempre tiene solución óptima. Sea 𝜉 el valor óptimo. Si 𝜉 = 0,
𝑥 𝑘 es solución óptima de 𝑃 ; en otro caso, 𝜉 > 0 es el valor óptimo.
Para la solución óptima 𝑦ത del problema:
MÉTODO PRIMAL DUAL
max 𝑏𝑡 𝑦
𝑠. 𝑎: σ𝑚
𝑖=1 𝑎𝑖𝑗 𝑦𝑖 ≤ 0, ∀𝑗 ∈ 𝐽
𝑘
𝐷𝑎
𝑦𝑖 ≤ 1, 𝑖 = 1, … , 𝑚
se tiene que 𝜉 = 𝑏𝑡 𝑦. ത
Puede suceder que:
• σ𝑚 ത𝑖 ≤ 0, ∀𝑗 ∉ 𝐽𝑘 . En este caso, 𝑦 𝑘 + 𝜆𝑦ത es solución factible de 𝐷 , ∀𝜆 ≥
𝑖=1 𝑎𝑖𝑗 𝑦
0 . Como 𝑏𝑡 𝑦 𝑘 + 𝜆𝑦ത = 𝑏𝑡 𝑦 𝑘 + 𝜆𝜉 , 𝐷 es no acotado y, por tanto, 𝑃 no
factible.
• σ𝑚 ത𝑖 > 0, para algún 𝑗 ∉ 𝐽𝑘 . En este caso, sea:
𝑖=1 𝑎𝑖𝑗 𝑦
𝑚
𝑐𝑗 − σ𝑚
𝑖=1 𝑎𝑖𝑗 𝑦𝑖𝑘
𝜆ҧ = min 𝑚 |𝑗 ∉ 𝐽𝑘 , ෍ 𝑎𝑖𝑗 𝑦ത𝑖 > 0 > 0
σ𝑖=1 𝑎𝑖𝑗 𝑦ത𝑖
𝑖=1
Definimos 𝑦 𝑘+1 = 𝑦 + 𝜆ҧ 𝑦ത y repetimos.
𝑘

Construir un esquema del Método Primal Dual es inmediato. En cada


iteración se detecta la no factibilidad del problema primal o se mejora la
solución factible dual actual. Esto concreta la convergencia.
La resolución de cada uno de los problemas auxiliares deberá afrontarse con
la aplicación de la versión adecuada del Método del Simplex.
MÉTODO PRIMAL DUAL

Algoritmo Primal Dual


Inicio
Encontrar una solución factible dual inicial.
Mientras
el valor óptimo del problema 𝑃𝑎 , que corresponde a la solución factible dual
actual, es distinto de cero, encontrar una solución óptima de 𝐷𝑎 .
Si , en base a la antedicha solución, es posible detectar la no
acotación de 𝐷 , parar ya que se ha detectado la no factibilidad de 𝑃 .
En otro caso, construir, según se especificó previamente, una nueva
solución factible dual y repetir
EJEMPLO
Resolver, aplicando el Método Primal Dual, el problema:
min 3𝑥1 + 2𝑥2 − 𝑥3
𝑠. 𝑎: 𝑥1 + 2𝑥2 − 𝑥3 = 3
−𝑥1 + 𝑥2 + 2𝑥3 = 1
𝑥𝑗 ≥ 0, 𝑗 = 1,2,3

Como el dual es:


m𝑎𝑥 3𝑦1 + 𝑦2
𝑠. 𝑎: 𝑦1 − 𝑦2 ≤ 3
2𝑦1 + 𝑦2 ≤ 2
−𝑦1 + 2𝑦2 ≤ −1
1
podemos tomar 𝑦 1 = . Al ser 𝐽1 = 2,3 , planteamos el problema auxiliar:
0
min 𝑥1𝑎 + 𝑥2𝑎
𝑠. 𝑎: 2𝑥2 − 𝑥3 + 𝑥1𝑎 = 3
𝑥2 + 2𝑥3 + 𝑥2𝑎 = 1
𝑥2 ≥ 0, 𝑥3 ≥ 0, 𝑥1𝑎 ≥ 0, 𝑥2𝑎 ≥ 0

La solución óptima de este problema es 𝑥2 = 1, 𝑥3 = 0,𝑥1𝑎 = 1,𝑥2𝑎 = 0 y su valor


óptimo es 𝜉1 = 1. Esto indica que la solución 𝑥1 = 0, 𝑥2 = 1, 𝑥3 = 0 no es factible
primal.
El dual del anterior problema auxiliar es:
EJEMPLO
m𝑎𝑥 3𝑦1 + 𝑦2
𝑠. 𝑎: 2𝑦1 + 𝑦2 ≤ 0
−𝑦1 + 2𝑦2 ≤ 0
𝑦1 ≤1
𝑦2 ≤ 1
1
La solución óptima de este problema es 𝑦ത = , 2𝑦ത1 + 𝑦ത2 = 3 > 0.
−2
3−1 2 5/3
Tenemos que 𝜆ҧ = 3 = 3, 𝑦 2 = , 𝐽2 = 1,2 .
−4/3
El nuevo problema auxiliar es:
min 𝑥1𝑎 + 𝑥2𝑎
𝑠. 𝑎: 𝑥1 + 2𝑥2 + 𝑥1𝑎 = 3
−𝑥1 + 𝑥2 + 𝑥2𝑎 = 1
𝑥1 ≥ 0, 𝑥2 ≥ 0, 𝑥1𝑎 ≥ 0, 𝑥2𝑎 ≥ 0
1/3
4/3
La solución óptima para este problema es , con 𝜉 2 = 0. Esto hace que
0
0
1/3
4/3 sea solución óptima del problema inicial con valor óptimo igual a 11/3.
0
EJEMPLO
Resolver, aplicando el Método Primal Dual, el problema:
min 3𝑥1 − 2𝑥2 + 2𝑥3
𝑠. 𝑎: 2𝑥1 + 𝑥2 − 𝑥3 = 6
−2𝑥1 + 2𝑥2 + 𝑥3 = 8
𝑥𝑗 ≥ 0, 𝑗 = 1,2,3

El dual es:
m𝑎𝑥 6𝑦1 + 8𝑦2
𝑠. 𝑎: 2𝑦1 − 2𝑦2 ≤ 3
𝑦1 + 2𝑦2 ≤ −2
−𝑦1 + 𝑦2 ≤ 2
−2
Elegimos 𝑦 1 = . Como 𝐽1 = 2,3 , planteamos el problema auxiliar:
0
min 𝑥1𝑎 + 𝑥2𝑎
𝑠. 𝑎: 𝑥2 − 𝑥3 + 𝑥1𝑎 = 6
2𝑥2 + 𝑥3 + 𝑥2𝑎 = 8
𝑥2 ≥ 0, 𝑥3 ≥ 0, 𝑥1𝑎 ≥ 0, 𝑥2𝑎 ≥ 0
Resolvemos este problema aplicando el Método Simplex Revisado.
Vs. Básicas 𝑇1 −1 Ctes. Col. Piv.(𝑥2 )
𝑥1𝑎 1 0 0 6 1
𝑥2𝑎 0 1 0 8 2
−𝜉 -1 -1 1 -14 -3
EJEMPLO
ya que los costos relativos son:
1 −1 1 0
𝑐ҧ𝑡 = −1 − 1 1 2 1 0 1 = −3 0 0 0
0 0 1 1
La nueva tabla inversa es:
Vs. Básicas 𝑇2 −1 Ctes.
𝑥1𝑎 1 -1/2 0 2
𝑥2 0 1/2 0 4
−𝜉 -1 1/2 1 -2
Como los nuevos costos relativos son:
1 −1 1 0
𝑡
𝑐ҧ = −1 1/2 1 2 1 0 1 = 0 3/2 0 3/2
0 0 1 1
se ha detectado una solución óptima para el problema 𝑃𝑎 con 𝜉 1 = 2 > 0. El
problema 𝐷𝑎 :
m𝑎𝑥 6𝑦1 + 8𝑦2
𝑠. 𝑎: 𝑦1 + 2𝑦2 ≤ 0
−𝑦1 +𝑦2 ≤ 0
𝑦1 ≤1
𝑦2 ≤ 1
1
tiene 𝑦ത = como solución óptima.
−1/2
EJEMPLO
Como esta solución no verifica la restricción 2𝑦1 − 2𝑦2 ≤ 0,el valor:
3+4 7
𝜆ҧ = =
3 3
posibilita la construcción de la nueva solución factible dual:
1
−2 7 1
2
𝑦 = + 3 − 1 = 37
0 2 −6
Como, para esta nueva solución factible dual, 𝐽2 = 1,2 , planteamos el
problema auxiliar:
min 𝑥1𝑎 + 𝑥 𝑎 2
𝑠. 𝑎: 2𝑥1 + 𝑥2 + 𝑥1𝑎 = 6
−2𝑥1 + 2𝑥2 + 𝑥2𝑎 = 8
𝑥1 ≥ 0, 𝑥2 ≥ 0, 𝑥1𝑎 ≥ 0, 𝑥2𝑎 ≥ 0
Resolvemos este problema aplicando el Método Simplex Revisado.
Vs. Básicas 𝑇1 −1 Ctes. Col. Piv.(𝑥2 )
𝑥1𝑎 1 0 0 6 1
𝑥2𝑎 0 1 0 8 2
−𝜉 -1 -1 1 -14 -3
ya que los costos relativos son:
2 1 1 0
𝑐ҧ𝑡 = −1 − 1 1 −2 2 0 1 = 0 − 3 0 0
0 0 1 1
EJEMPLO
Vs. Básicas 𝑇2 −1 Ctes. Col. Piv.(𝑥1 )
𝑥1𝑎 1 -1/2 0 2 3
𝑥2 0 1/2 0 4 -1
−𝜉 -1 1/2 1 -2 -3
Al ser los costos relativos:
2 1 1 0
𝑡
𝑐ҧ = −1 , 1/2, 1 −2 2 0 1 = −3, 0,0, 3/2
0 0 1 1
la variable 𝑥1 entra en la base. La nueva tabla inversa es:
Vs. Básicas 𝑇2 −1 Ctes.
𝑥1 1/3 -1/6 0 2/3
𝑥2 1/3 1/3 0 14/3
−𝜉 0 0 1 0
La solución óptima de este problema es 𝑥1 = 2/3, 𝑥2 = 14/3,𝑥1𝑎 = 0,𝑥2𝑎 = 0 y su
valor óptimo es 𝜉 2 = 0. Esto indica que la solución 𝑥1 = 2/3, 𝑥2 = 14/3, 𝑥3 = 0
es factible primal y óptima con valor óptimo igual a 22/3.
La tabla inversa óptima del problema inicial es
Vs. Básicas 𝑇2 −1 Ctes.
𝑥1 1/3 -1/6 0 2/3
𝑥2 1/3 1/3 0 14/3
−𝑧 -1/3 7/6 1 -22/3
MÉTODO AUTO DUAL
Fuerza la optimalidad de una solución básica perturbando costos y recursos
sumando, convenientemente, una cantidad suficientemente grande. La
pretensión de anular dicha perturbación, implica combinar iteraciones del
simplex primal y del simplex dual. Se puede detectar la no acotación, la no
factibilidad o la optimalidad. Estas tres posibilidades se deben conjugar con
la posibilidad de eliminación de la perturbación y, por tanto, deben estar
referidas al problema inicial.
Ejemplo
Para resolver
min 3𝑥1 − 2𝑥2 + 5𝑥3
𝑠. 𝑎: 2𝑥1 + 𝑥2 − 𝑥3 + 𝑥4 =6
−2𝑥1 + 𝑥2 − 2𝑥3 + 𝑥5 = −8
𝑥𝑗 ≥ 0, 𝑗 = 1, … , 5
planteamos el problema perturbado:
min 3 + 𝛿 𝑥1 + −2 + 𝛿 𝑥2 + 5 + 𝛿 𝑥3
𝑠. 𝑎: 2𝑥1 + 𝑥2 − 𝑥3 + 𝑥4 = 6+𝛿
−2𝑥1 + 𝑥2 − 2𝑥3 + 𝑥5 = −8 + 𝛿
𝑥𝑗 ≥ 0, 𝑗 = 1, … , 5
MÉTODO AUTO DUAL
La tabla inicial es:
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 −𝑧𝛿 Constantes
𝑥4 2 1 -1 1 0 0 6+𝛿
𝑥5 -2 1 -2 0 1 0 -8+𝛿
−𝑧𝛿 3+𝛿 -2+𝛿 5+𝛿 0 0 1 0
Esta tabla es óptima para valores de 𝛿 que hagan no negativos los valores de
las variables básicas y de los costos relativos. Por tanto, 𝛿 ≥ 8.
Si 𝛿 < 8, se activa el Método Simplex Dual para sacar de la base a 𝑥5 . Como:
3+𝛿 5+𝛿 3+𝛿
max , =
−2 −2 −2
la variable 𝑥1 entra en la base. Obtenemos:

V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 −𝑧𝛿 Constantes


𝑥4 0 2 -3 1 1 0 -2+2𝛿
𝑥1 1 -1/2 1 0 -1/2 0 4-𝛿/2
5𝛿 𝛿 2
−𝑧𝛿 0 -1/2+3𝛿/2 2 0 3/2+𝛿/2 1 −12 − +
2 2

Esta tabla es óptima cuando 𝛿 ∈ 1,8 . Si 𝛿 < 1 , la aplicación del Método


Simplex Dual indica que 𝑥4 es sustituida en la base por 𝑥3 . Obtenemos:
MÉTODO AUTO DUAL
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 −𝑧𝛿 Constantes
𝑥3 0 -2/3 1 -1/3 -1/3 0 2/3-2𝛿/3
𝑥1 1 1/6 0 1/3 -1/6 0 10/3+𝛿/6
40 7𝛿 𝛿 2
−𝑧𝛿 0 5/6+3𝛿/2 0 2/3 13/6+𝛿/2 1 − − +
3 6 2

5
Esta tabla es óptima cuando 𝛿 ∈ − 9 , 1 . Por tanto, aporta una solución
óptima cuando 𝛿 = 0.
TEMA 7: PROGRAMACIÓN PARAMÉTRICA
Problemas con costos paramétricos.
Problemas con recursos paramétricos.
Problemas con costos y recursos paramétricos

Resumen
Se estudian problemas de Programación Lineal en los que costos
o recursos dependen linealmente de un parámetro. Este estudio,
realizado en principio de forma separada, puede hacerse
simultáneamente y extenderse a los coeficientes tecnológicos.
Las herramientas necesarias para llevarlo a cabo se concretan en
el uso del Método Simplex Primal y del Método Simplex Dual.
PROBLEMAS PARAMÉTRICOS
Puede suceder que los costos de un problema de Programación dependan
linealmente de un parámetro. Tendremos, el siguiente problema de costos
paramétricos:
min 𝑐 + 𝜆𝑐 ∗ 𝑡 𝑥
𝑠. 𝑎: 𝐴𝑥 = 𝑏
𝑥≥0
Si son los recursos los que dependen linealmente de un parámetro, se
obtiene el problema de recursos paramétricos:
min 𝑐 𝑡 𝑥
𝑠. 𝑎: 𝐴𝑥 = 𝑏 + 𝜆𝑏 ∗
𝑥≥0
Es obvio que la dependencia lineal apuntada puede ser simultánea:
min 𝑐 + 𝜆𝑐 ∗ 𝑡 𝑥
𝑠. 𝑎: 𝐴𝑥 = 𝑏 + 𝜆𝑏 ∗
𝑥≥0
Y, en cualquier caso, puede extenderse a los coeficientes tecnológicos:
min 𝑐 + 𝜆𝑐 ∗ 𝑡 𝑥
𝑠. 𝑎: 𝐴 + 𝜆𝐴∗ 𝑥 = 𝑏 + 𝜆𝑏 ∗
𝑥≥0

Cada caso debe ser resuelto para todos los valores de 𝜆 ∈ 𝑅


PROBLEMAS DE COSTOS PARAMÉTRICOS
Asociados al problema 𝑃𝜆 :
min 𝑐 + 𝜆𝑐 ∗ 𝑡 𝑥
𝑠. 𝑎: 𝐴𝑥 = 𝑏
𝑥≥0
Tenemos los problemas:
min 𝑐 𝑡 𝑥 min 𝑐 ∗ 𝑡 𝑥
𝑠. 𝑎: 𝐴𝑥 = 𝑏 𝑃 y 𝑠. 𝑎: 𝐴𝑥 = 𝑏 𝑃∗
𝑥≥0 𝑥≥0
Si 𝐴 = 𝐵, 𝑁 , siendo B una base, los correspondientes costos relativos para
𝑃 y 𝑃∗ serán:
𝑐ҧ𝑡 = 𝑐 𝑡 − 𝑐𝐵 𝑡 𝐵−1 𝐴
𝑡
𝑐ഥ∗ = 𝑐 ∗ 𝑡 − 𝑐𝐵 ∗𝑡 𝐵 −1 𝐴
Para 𝑃𝜆 , los costos relativos son 𝑐ҧ + 𝜆𝑐ഥ∗ .
Como hay que resolver 𝑃𝜆 para todos los valores de 𝜆, podemos iniciar el
proceso con una base 𝐵 que sea óptima para algunos valores de 𝜆. Esto se
conseguiría si 𝐵 −1 𝑏 ≥ 0 y 𝑐ҧ + 𝜆𝑐ഥ∗ ≥ 0
PROBLEMAS DE COSTOS PARAMÉTRICOS
Ejemplo
Para el problema de costos paramétricos:
min 4 + 2𝜆 𝑥1 + 2 − 𝜆 𝑥2 + 3 − 𝜆 𝑥3
𝑠. 𝑎: 2𝑥1 + 4𝑥2 − 2𝑥3 + 𝑥4 =8
−𝑥1 + 2𝑥2 + 2𝑥3 + 𝑥5 = 10
𝑥𝑗 ≥ 0, 𝑗 = 1, … , 5
La solución básica inicial es óptima cuando:
4 + 2𝜆 ≥ 0
2−𝜆 ≥0
3−𝜆 ≥0
Es decir, cuando 𝜆 ∈ −2,2 .
En el caso general, la base factible B es óptima si 𝑐𝑗ҧ + 𝜆𝑐𝑗ҧ∗ ≥ 0, ∀𝑗 ∈ 𝑁:
𝑐𝑗ҧ
- Si 𝑐𝑗ҧ∗ > 0, 𝜆 ≥ − 𝑐ҧ∗.
𝑗
𝑐𝑗ҧ
- Si 𝑐𝑗ҧ∗ < 0, 𝜆 ≤ − 𝑐ҧ∗ .
𝑗
- Si 𝑐𝑗ҧ∗ = 0, debe verificarse que 𝑐𝑗ҧ ≥ 0.
𝑐𝑗ҧ 𝑐𝑗ҧ
m𝑎𝑥 − 𝑐ҧ∗ |𝑐𝑗ҧ∗ > 0 𝑠𝑖 𝑐ҧ∗ ≰0 min − 𝑐ҧ∗ |𝑐𝑗ҧ∗ < 0 𝑠𝑖 𝑐ҧ∗ ≱0
Definimos 𝜆𝐵 = ቐ 𝑗 y 𝜆ҧ𝐵 = ቐ 𝑗

−∞, 𝑠𝑖 𝑐ҧ ≤ 0 ∞, 𝑠𝑖 𝑐ҧ∗ ≥0
B es óptima si 𝜆 ∈ 𝜆𝐵 , 𝜆ҧ𝐵 . Este se denomina intervalo característico.
PROBLEMAS DE COSTOS PARAMÉTRICOS
¿Qué pasa fuera de este intervalo característico?
𝑐ҧ
Supongamos que 𝜆ҧ𝐵 = − 𝑐𝑠ҧ∗ con 𝑐𝑠ҧ∗ < 0. Si 𝜆 > 𝜆ҧ𝐵 , 𝑐𝑠ҧ + 𝜆𝑐𝑠ҧ∗ < 0 y, por tanto, B no
𝑠
es óptima.
Ejecutando una iteración del Método Simplex Primal sobre 𝑥𝑠 , esta variable,
si no se detecta la no acotación, entrará en la base en sustitución de una
variable 𝑥𝑟 .

𝑏ത𝑟
El nuevo valor de 𝑥𝑠 es y los nuevos costos relativos de las variables no
𝑦𝑟𝑠
básicas son:
𝑦𝑟𝑗 ∗ 𝑦𝑟𝑗 ∗
𝑐𝑗ҧ − 𝑦 𝑐𝑠ҧ + 𝜆 𝑐𝑗ҧ − 𝑦 𝑐𝑠ҧ , ∀𝑗 ∈ 𝑁 − 𝑠
𝑟𝑠 𝑟𝑠
𝑐𝑠ҧ 𝑐𝑠ҧ∗
− −𝜆 , para la variable 𝑥𝑟 .
𝑦𝑟𝑠 𝑦𝑟𝑠

Se observa que con la iteración realizada (un pivotaje primal), se obtiene


una base 𝐵′ que es adyacente a B. Siguiendo la anterior línea de trabajo, 𝐵′
tendrá asociado un intervalo característico 𝜆𝐵′ , 𝜆ҧ𝐵′
𝑐ҧ 𝑦𝑟𝑗 𝑦𝑟𝑗 𝑦𝑟𝑗 𝑐ҧ 𝑦𝑟𝑗
Si 𝜆 = 𝜆ҧ𝐵 = − 𝑐𝑠ҧ∗ , 𝑐𝑗ҧ − 𝑦 𝑐𝑠ҧ + 𝜆 𝑐𝑗ҧ∗ − 𝑦 𝑐𝑠ҧ∗ = 𝑐𝑗ҧ − 𝑦 𝑐𝑠ҧ + − 𝑐𝑠ҧ∗ 𝑐𝑗ҧ∗ − 𝑦 𝑐𝑠ҧ∗ = 𝑐𝑗ҧ + 𝜆𝑐𝑗ҧ∗ ≥
𝑠 𝑟𝑠 𝑟𝑠 𝑟𝑠 𝑠 𝑟𝑠
ҧ ҧ
0 ya que 𝜆 = 𝜆𝐵 ∈ 𝜆𝐵 , 𝜆𝐵 . Esto indica que 𝜆𝐵′ ≤ 𝜆𝐵 . ҧ
𝑐ҧ 𝑐ҧ 𝑐ҧ ∗
𝑐ҧ 𝑐ҧ ∗
Por otro lado, si 𝜆 < 𝜆ҧ𝐵 , − 𝑦 𝑠 − 𝜆 𝑦 𝑠 < − 𝑦 𝑠 + 𝑐𝑠ҧ∗ 𝑦 𝑠 = 0; es decir, 𝜆𝐵′ ≥ 𝜆ҧ𝐵 .
𝑟𝑠 𝑟𝑠 𝑟𝑠 𝑠 𝑟𝑠
PROBLEMAS DE COSTOS PARAMÉTRICOS
El análisis de lo que ocurre a la derecha de 𝜆𝐵′ , 𝜆ҧ𝐵′ es similar al ya realizado.
Igual ocurrirá a la izquierda de 𝜆𝐵 , 𝜆ҧ𝐵 .
Se observa que, con un pivotaje primal, se encuentra el intervalo
característico asociado a una base adyacente de la actual. Hay que notar que
dicho intervalo puede corresponder a un conjunto de valores de 𝜆 donde el
problema de costos paramétricos es no acotado.
Como el número de bases es finito, el conjunto de intervalos, sobre los que
se determina la solución del problema paramétrico, es finito. Los intervalos
de no acotación son de la forma −∞, ∞ (todos los valores de 𝜆), −∞, 𝑘 o
𝑘, ∞ (para una determinada constante k)
Ejemplo
En el ejemplo anterior, para analizar lo que ocurre a la derecha de −2,2 , hay
que hacer un pivotaje primal sobre 𝑥2 en la tabla:

V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 −𝑧𝜆 Constantes


𝑥4 2 4 -2 1 0 0 8
𝑥5 -1 2 2 0 1 0 10
−𝑧𝜆 4 + 2𝜆 2 − 𝜆 3 − 𝜆 0 0 1 0
PROBLEMAS DE COSTOS PARAMÉTRICOS
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 −𝑧𝜆 Constantes
𝑥2 1/2 1 -1/2 1/4 0 0 2
𝑥5 -2 0 3 -1/2 1 0 6
−𝑧𝜆 3 + 5𝜆/2 0 4 − 3𝜆/2 -1/2+𝜆/4 0 1 −4 + 2𝜆
8
Esta solución es óptima en 2, .
3
8
Si 𝜆 > 3, la variable 𝑥3 debe ser básica en sustitución de 𝑥5 . Obtenemos:

V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 −𝑧𝜆 Constantes


𝑥2 1/6 1 0 1/6 1/6 0 3
𝑥3 -2/3 0 1 -1/6 1/3 0 2
−𝑧𝜆 17/3 + 3𝜆/2 0 0 1/6 -4/3+𝜆/2 1 −12 + 5𝜆
8
La última tabla es óptima si 𝜆 ≥ 3.
Para analizar lo que ocurre a la izquierda de −2,2 , hay que hacer un
pivotaje primal sobre 𝑥1 en la tabla(inicial):

V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 −𝑧𝜆 Constantes


𝑥4 2 4 -2 1 0 0 8
𝑥5 -1 2 2 0 1 0 10
−𝑧𝜆 4 + 2𝜆 2 − 𝜆 3 − 𝜆 0 0 1 0
PROBLEMAS DE COSTOS PARAMÉTRICOS
Se obtiene:

V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 −𝑧𝜆 Constantes


𝑥1 1 2 -1 1/2 0 0 4
𝑥5 0 4 1 1/2 1 0 14
−𝑧𝜆 0 −6 − 5𝜆 7+𝜆 −2 − 𝜆 0 1 −16 − 8𝜆
Esta solución es óptima en −7, −2 . Si 𝜆 < −7, la variable 𝑥3 debe ser básica
en sustitución de 𝑥5 . Obtenemos:

V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 −𝑧𝜆 Constantes


𝑥1 1 6 0 1 1 0 18
𝑥3 0 4 1 1/2 1 0 14
−𝑧𝜆 0 −34 − 9𝜆 0 −11/2 − 3𝜆/2 −7 − 𝜆 1 −114 − 22𝜆

Esta tabla es óptima para 𝜆 ≤ −7


PROBLEMAS DE COSTOS PARAMÉTRICOS
Los valores de 𝑧𝜆 en función de 𝜆 aparecen en la siguiente gráfica:
(2,66, -1,33)
(-2, 0) (2, 0)

𝜆 , 𝑧𝜆
(-7, -40)

Caso de Máximo
En este caso, la base factible B es óptima si 𝑐𝑗ҧ + 𝜆𝑐𝑗ҧ∗ ≤ 0, ∀𝑗 ∈ 𝑁:
𝑐𝑗ҧ
- Si 𝑐𝑗ҧ∗ > 0, 𝜆 ≤ − 𝑐ҧ∗ .
𝑗
𝑐𝑗ҧ
- Si 𝑐𝑗ҧ∗ < 0, 𝜆 ≥ − 𝑐ҧ∗ .
𝑗
- Si 𝑐𝑗ҧ∗ = 0, debe verificarse que 𝑐𝑗ҧ ≤ 0.
𝑐𝑗ҧ 𝑐𝑗ҧ
m𝑎𝑥 − 𝑐 ҧ∗ |𝑐𝑗ҧ∗ < 0 𝑠𝑖 𝑐ҧ∗ ≱0 min − 𝑐 ∗ |𝑐𝑗ҧ∗ > 0 𝑠𝑖 𝑐ҧ∗ ≰0
Definimos 𝜆𝐵 = ቐ 𝑗 y 𝜆ҧ𝐵 = ቐ 𝑗
−∞, 𝑠𝑖 𝑐ҧ ≥0
∗ ∞, 𝑠𝑖 𝑐ҧ∗ ≤0
B es óptima si 𝜆 ∈ 𝜆𝐵 , 𝜆ҧ𝐵 .
PROBLEMAS DE RECURSOS PARAMÉTRICOS
Asociados al problema 𝑃𝜆 :
min 𝑐 𝑡 𝑥
𝑠. 𝑎: 𝐴𝑥 = 𝑏 +𝜆𝑏 ∗
𝑥≥0
Tenemos los problemas:
min 𝑐 𝑡 𝑥 min 𝑐 𝑡 𝑥
𝑠. 𝑎: 𝐴𝑥 = 𝑏 𝑃 y 𝑠. 𝑎: 𝐴𝑥 = 𝑏 ∗ 𝑃∗
𝑥≥0 𝑥≥0
Si 𝐴 = 𝐵, 𝑁 , siendo B una base, para ambos problemas los costos relativos
son:
𝑐ҧ𝑡 = 𝑐 𝑡 − 𝑐𝐵 𝑡 𝐵−1 𝐴

Y los correspondientes valores de las variables básicas para 𝑃 y 𝑃∗ vienen


dados por:
𝑏ത = 𝐵 −1 𝑏 y 𝑏ത ∗ = 𝐵 −1 𝑏∗
Para 𝑃𝜆 , dichos valores son 𝑏ത + 𝜆𝑏ത ∗ .

Como hay que resolver 𝑃𝜆 para todos los valores de 𝜆, podemos iniciar el
proceso con una base 𝐵 que sea óptima para algunos valores de 𝜆. Esto se
conseguiría si 𝑐ҧ ≥ 0 y𝑏ത + 𝜆𝑏ത ∗ ≥ 0
PROBLEMAS DE RECURSOS PARAMÉTRICOS
Ejemplo
Para el problema de recursos paramétricos:
min 2 𝑥1 + 𝑥2 + 3𝑥3
𝑠. 𝑎: 𝑥1 + 4𝑥2 − 2𝑥3 + 𝑥4 = 10 + 2𝜆
−2𝑥1 + 𝑥2 + 2𝑥3 + 𝑥5 = 12 − 2𝜆
𝑥𝑗 ≥ 0, 𝑗 = 1, … , 5
La solución básica inicial es óptima cuando:
10 + 2𝜆 ≥ 0
12 − 2𝜆 ≥ 0
Es decir, cuando 𝜆 ∈ −5,6 .

En el caso general, la base factible B es óptima si 𝑏ത𝑖 + 𝜆𝑏ത𝑖∗ ≥ 0, ∀𝑖 ∈ 𝐵:


𝑏ത
- Si 𝑏ത𝑖∗ > 0, 𝜆 ≥ − ∗𝑖 .
𝑏ത𝑖
𝑏ത 𝑖
- Si 𝑏ത𝑖∗ < 0, 𝜆 ≤ − 𝑏ത ∗ .
𝑖
- Si 𝑏ത𝑖∗ = 0, debe verificarse que 𝑏ത𝑖 ≥ 0.
𝑏ത 𝑏ത 𝑖 ത ∗
m𝑎𝑥 − 𝑏ത ∗𝑖 |𝑏ത𝑖∗ > 0 𝑠𝑖 𝑏ത ∗ ≰0 ҧ min − ത∗
∗ |𝑏𝑖 < 0 𝑠𝑖 𝑏 ≱0
Definimos 𝜆𝐵 = ቐ 𝑖 y 𝜆𝐵 = ቐ 𝑏ത
𝑖
−∞, 𝑠𝑖 𝑏ത ≤0

∞, 𝑠𝑖 𝑏ത ≥0

B es óptima si 𝜆 ∈ 𝜆𝐵 , 𝜆ҧ𝐵 intervalo característico.


PROBLEMAS DE RECURSOS PARAMÉTRICOS
¿Qué pasa fuera de este intervalo característico?
𝑏ത
Supongamos que 𝜆ҧ𝐵 = − 𝑏ത𝑟∗ con 𝑏ത𝑟∗ < 0. Si 𝜆 > 𝜆ҧ𝐵 , 𝑏ത𝑟 + 𝜆𝑏ത𝑟∗ < 0 y, por tanto, B no
𝑟
es óptima.
Ejecutando una iteración del Método Simplex Dual sobre 𝑥𝑟 , esta variable
saldrá en la base y, si no se detecta la no factibilidad, será sustituida por una
variable 𝑥𝑠 .
Los nuevos costos relativos serán:
𝑦𝑟𝑗
𝑐𝑗ҧ − 𝑐ҧ , ∀𝑗 ∈ 𝑁 ∪ 𝑠
𝑦𝑟𝑠 𝑠
𝑐ҧ
− 𝑦 𝑠 , para 𝑥𝑟
𝑟𝑠
e iguales a cero para el resto de variables.
Los valores de las variables básicas serán:
𝑦𝑟𝑗 𝑦𝑟𝑗 ∗

𝑏𝑖 − ത ത ∗
𝑏𝑟 + 𝜆 𝑏𝑖 − 𝑏ത𝑟 , ∀𝑖 ∈ 𝐵 − 𝑟 ∪ 𝑠
𝑦𝑟𝑠 𝑦𝑟𝑠
El resto de variables son no básicas y, por tanto, iguales a cero.
Al efectuarse un pivotaje dual, se obtiene una base 𝐵′ que es adyacente a B.
Para 𝐵′ habría un intervalo característico 𝜆𝐵′ , 𝜆ҧ𝐵′
PROBLEMAS DE RECURSOS PARAMÉTRICOS
𝑏ത 𝑦𝑟𝑗 𝑦𝑟𝑗 𝑦𝑟𝑗 𝑏ത 𝑦𝑟𝑗
Si 𝜆 = 𝜆ҧ𝐵 = − 𝑏ത𝑟∗ , 𝑏ത𝑖 − 𝑦 𝑏ത𝑟 + 𝜆 𝑏ത𝑖∗ − 𝑦 𝑏ത𝑟∗ = 𝑏ത𝑖 − 𝑦 𝑏ത𝑟 − 𝑏ത𝑟∗ 𝑏ത𝑖∗ − 𝑦 𝑏ത𝑟∗ = 𝑏ത𝑖 + 𝜆𝑏ത𝑟∗ ≥ 0
𝑟 𝑟𝑠 𝑟𝑠 𝑟𝑠 𝑟 𝑟𝑠
. Esto indica que 𝜆𝐵′ ≤ 𝜆ҧ𝐵 .
𝑏ത𝑟 ∗
𝑏ത 𝑏ത 𝑏ത 𝑏ത∗
Por otro lado, si 𝜆 < 𝜆ҧ𝐵 , + 𝜆 𝑦 𝑟 < 𝑦 𝑟 − 𝑏ത𝑟∗ 𝑦 𝑟 = 0; es decir, 𝜆𝐵′ ≥ 𝜆ҧ𝐵 .
𝑦𝑟𝑠 𝑟𝑠 𝑟𝑠 𝑟 𝑟𝑠

Se reproducen análisis similares, a la izquierda y a la derecha de 𝜆𝐵′ , 𝜆ҧ𝐵′ , a


los mencionados para el caso de costos paramétricos.
Se observa que, con un pivotaje dual, se encuentra el intervalo
característico, asociado a una base adyacente de la actual, que comienza
donde acaba el asociado a la anterior. Hay que notar que dicho intervalo
puede corresponder a un conjunto de valores de 𝜆 donde el problema de
recursos paramétricos es no factible.
Como el número de bases es finito, el conjunto de intervalos, sobre los que
resuelve el problema paramétrico, es finito. Los intervalos de no factibilidad
son de la forma −∞, ∞ (todos los valores de 𝜆), −∞, 𝑘 o 𝑘, ∞ (para una
determinada constante k)
PROBLEMAS DE RECURSOS PARAMÉTRICOS
Ejemplo
Para seguir con la resolución del ejemplo anterior, usamos la tabla:

V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 −𝑧𝜆 Constantes


𝑥4 1 4 -2 1 0 0 10 + 2𝜆
𝑥5 -2 1 2 0 1 0 12 − 2𝜆
−𝑧𝜆 2 1 3 0 0 1 0
Esta tabla es óptima cuando 𝜆 ∈ −5,6
Si 𝜆 < −5, la variable 𝑥4 sale de la base. Le sustituye 𝑥3 :
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 −𝑧𝜆 Constantes
𝑥3 -1/2 -2 1 -1/2 0 0 −5 − 𝜆
𝑥5 -1 5 0 1 1 0 22
−𝑧𝜆 7/2 7 0 3/2 0 1 15 + 3𝜆

Esta tabla es óptima cuando 𝜆 ∈ −∞, −5

Si 𝜆 > 6, sobre la tabla inicial, la variable 𝑥5 sale de la base. Le sustituye 𝑥1 :


PROBLEMAS DE RECURSOS PARAMÉTRICOS
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 −𝑧𝜆 Constantes
𝑥4 0 9/2 -1 1 1/2 0 16 + 𝜆
𝑥1 1 -1/2 -1 0 -1/2 0 −6 + 𝜆
−𝑧𝜆 0 2 5 0 1 1 12 − 2𝜆
Esta tabla es óptima cuando 𝜆 ∈ 6, ∞

𝜆 , 𝑧𝜆

(-5,0) (6, 0)
PROBLEMAS DE COSTOS Y RECURSOS PARAMÉTRICOS
Cuando los costos y los recursos dependen linealmente de un parámetro:
min 𝑐 + 𝜆𝑐 ∗ 𝑡 𝑥
𝑠. 𝑎: 𝐴𝑥 = 𝑏 + 𝜆𝑏 ∗
𝑥≥0
partiendo de una tabla óptima (por tanto de un intervalo característico de
valores de 𝜆 asociados a la correspondiente base), el análisis a realizar
implica la alternancia conveniente de pivotajes primales y pivotajes duales.

Ejemplo
Sea el problema de costos y recursos paramétricos:
min 2 + 2𝜆 𝑥1 + 4 − 𝜆 𝑥2 + 6 + 𝜆 𝑥3
𝑠. 𝑎: 2𝑥1 + 4𝑥2 − 𝑥3 + 𝑥4 = 8 + 2𝜆
−2𝑥1 + 𝑥2 +2𝑥3 + 𝑥5 = 16 − 2𝜆
𝑥𝑗 ≥ 0, 𝑗 = 1, … , 5
La tabla correspondiente es:
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 −𝑧𝜆 Constantes
𝑥4 2 4 -1 1 0 0 8 + 2𝜆
𝑥5 -2 1 2 0 1 0 16 − 2𝜆
−𝑧𝜆 2 + 2𝜆 4 − 𝜆 6 + 𝜆 0 0 1 0
Esta tabla es óptima cuando 2 + 2𝜆 ≥ 0, 4 − 𝜆 ≥ 0, 6 + 𝜆 ≥ 0, 8 + 2𝜆 ≥ 0 y 16 −
2𝜆 ≥ 0; es decir, cuando 𝜆 ∈ −1,4
PROBLEMAS DE COSTOS Y RECURSOS PARAMÉTRICOS
Si 𝜆 > 4, el costo relativo de la variable 𝑥2 se hace negativo. Por tanto, se
activa un pivotaje primal. Tomando valores de 𝜆 próximos a 4, la regla de la
razón mínima indica que la variable que sale de la base es 𝑥4 . Obtenemos:

V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 −𝑧𝜆 Constantes


𝑥2 1/2 1 -1/4 1/4 0 0 2 + 𝜆/2
𝑥5 -5/2 0 9/4 -1/4 1 0 14 − 5𝜆/2
−𝑧𝜆 5𝜆/2 0 7 + 3𝜆/2 -1+𝜆/4 0 1 −8 + 𝜆 2 /2

Esta tabla es óptima cuando 𝜆 ∈ 4,28/5 . Si 𝜆 > 28/5, se activa un pivotaje


5𝜆/2 −1+𝜆/4
dual sobre 𝑥5 . Como max −5/2 , −1/4 = max −𝜆, 4 − 𝜆 = 4 − 𝜆, entra en la base
𝑥4 :
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 −𝑧𝜆 Ctes.
𝑥2 -2 1 2 0 1 0 16 − 2𝜆
𝑥4 10 0 -9 1 -4 0 −56 + 10𝜆
−𝑧𝜆 10 0 −2 + 3𝜆 0 -4+𝜆 1 −64 + 24𝜆 − 2𝜆 2

28
Esta tabla es óptima cuando 𝜆 ∈ ,8 .
5
Si 𝜆 > 8, hay que realizar un pivotaje dual sobre 𝑥2 . La variable que le
sustituye en la base es 𝑥1 . Obtenemos:

V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 −𝑧𝜆 Ctes.


𝑥1 1 -1/2 -1 0 -1/2 0 −8 + 𝜆
𝑥4 0 5 1 1 1 0 24
−𝑧𝜆 0 5 8 + 3𝜆 0 1+𝜆 1 16 + 14𝜆 − 2𝜆 2

Esta tabla es óptima cuando 𝜆 ≥ 8.

Para analizar lo que ocurre para 𝜆 < −1, usamos la tabla óptima inicial

V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 −𝑧𝜆 Constantes


𝑥4 2 4 -1 1 0 0 8 + 2𝜆
𝑥5 -2 1 2 0 1 0 16 − 2𝜆
−𝑧𝜆 2 + 2𝜆 4 − 𝜆 6 + 𝜆 0 0 1 0
PROBLEMAS DE COSTOS Y RECURSOS PARAMÉTRICOS
en la que hay que hacer un pivotaje primal sobre 𝑥1 . La variable que sale de
la base es 𝑥4 . Se obtiene:

V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 −𝑧𝜆 Constantes


𝑥1 1 2 -1/2 1/2 0 0 4+𝜆
𝑥5 0 5 1 1 1 0 24
−𝑧𝜆 0 −5𝜆 7 + 2𝜆 -1−𝜆 0 1 −8 − 10𝜆 − 2𝜆2
7
Esta tabla es óptima cuando 𝜆 ∈ − 2 , −1 . Si 𝜆 < −7/2, se ejecuta un pivotaje
primal sobre la variable 𝑥3 :
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 −𝑧𝜆 Constantes
𝑥1 1 9/2 0 1 1/2 0 16 + 𝜆
𝑥3 0 5 1 1 1 0 24
−𝑧𝜆 0 −35 − 15𝜆 0 -8−3𝜆 -7-2𝜆 1 −176 − 58𝜆 − 2𝜆2
Esta tabla es óptima cuando 𝜆 ∈ −16, −7/2 . Si 𝜆<−16 habría que realizar un
pivotaje dual sobre 𝑥1 . Esto implica que el problema es no factible para
dichos valores de 𝜆.
PROBLEMAS DE COSTOS Y RECURSOS PARAMÉTRICOS
La variación del valor objetivo, en función de 𝜆 , queda reflejada en la
siguiente gráfica:
100

50

0
-18 -16 -14 -12 -10 -8 -6 -4 -2 0 2 4 6 8 10 12 14

-50

-100

-150

-200

-250

-300
TEMA 8: ANÁLISIS DE SENSIBILIDAD

Cambios en costos y recursos.


Adición de variables.
Adición de restricciones.
Modificación de coeficientes tecnológicos
Aplicaciones.

Resumen
Se estudia la influencia que pueden tener, en la optimalidad
previamente detectada, algunos cambios en los elementos
definidores del problema. Concretamente, nos referimos a la
adición de restricciones o de variables, cambios en los
costos, en los recursos o en los coeficientes tecnológicos. En
todos los casos, la resolución del problema modificado se
realiza a partir de la situación de optimalidad previa.
ANÁLISIS DE SENSIBILIDAD

Después de determinar una solución óptima, interesa estudiar la influencia


que pueden tener algunos cambios en los elementos definidores del
problema. Por ejemplo, ver si la adición de restricciones o de variables, los
cambios en los costos, en los recursos o en los coeficientes tecnológicos…
imponen variaciones en la optimalidad previamente detectada. El estudio
correspondiente se denomina Análisis de Sensibilidad.

Supongamos que se ha resuelto el problema:


min 𝑐 𝑡 𝑥
𝑠. 𝑎: 𝐴𝑥 = 𝑏
𝑥≥0

para el que 𝑥ҧ es una solución óptima a la que corresponde la


descomposición de 𝐴 = 𝐵, 𝑁 .
Haremos modificaciones del problema anterior que afectarán a costos,
recursos, coeficientes tecnológicos, variables y/o restricciones. Aunque
podrían introducirse simultáneamente, nuestro estudio se realizará
contemplándolas de forma separada.
ANÁLISIS DE SENSIBILIDAD

Ejemplo
Usaremos el siguiente problema:
min 3𝑥1 − 2𝑥2 + 4𝑥3
𝑠. 𝑎: −2𝑥1 + 2𝑥2 − 𝑥3 = 12
3𝑥1 + 2𝑥2 − 2𝑥3 = 10 (1)
𝑥𝑗 ≥ 0, 𝑗 = 1,2,3

cuya solución óptima se escribe en la siguiente tabla:

V. B. 𝑇 −1 Ctes.
𝑥3 1 -1 0 2
𝑥2 1 -1/2 0 7
-z -2 3 1 6

Los costos relativos son:


−2 2 −1
𝑐ҧ𝑡 = −2,3,1 3 2 −2 = 16,0,0
3 −2 4
CAMBIOS EN COSTOS
Cambio en el costo asociado a una variable.
Se modifica el costo asociado a una variable 𝑥𝑗 . Distinguiremos dos
subcasos:
i) 𝑥𝑗 es una variable no básica y, por tanto, el único costo relativo
que se modifica es el correspondiente a dicha variable.
Calculamos entonces 𝑐𝑗ҧ′ = 𝑐𝑗′ − 𝑐𝐵𝑡 𝐵−1 𝑎 𝑗 . Si 𝑐𝑗ҧ′ ≥ 0, se tiene que 𝑥ҧ es
solución óptima del problema modificado. Si 𝑐𝑗ҧ′ < 0, debemos aplicar
el Método Simplex Primal.
ii) 𝑥𝑗 es una variable básica, lo cual hace que se pueda modificar el
vector de costos básicos.
Con el nuevo vector, 𝑐𝐵′ se calculan todos los costos relativos
asociados a las distintas variables y se aplica, si corresponde, el
Método Simplex Primal.
CAMBIOS EN COSTOS

i)Determinar el rango de optimalidad asociado a 𝑐1 ¿Qué ocurre, en la


optimalidad detectada previamente, si se modifica 𝑐1 = 3 por 𝑐1 = −14?

Al ser 𝑥1 no básica en la solución óptima, cualquier variación del costo


asociado a esta variable se traslada automáticamente a su costo relativo.
Esto indica que el rango de optimalidad asociado a 𝑐1 es −13, ∞ .
Si 𝑐1 = −14, el problema modificado es:

min −14𝑥1 − 2𝑥2 + 4𝑥3


𝑠. 𝑎: −2𝑥1 + 2𝑥2 − 𝑥3 = 12
3𝑥1 + 2𝑥2 − 2𝑥3 = 10
𝑥𝑗 ≥ 0, 𝑗 = 1,2,3
El costo relativo de 𝑥1 es igual a −1. Entonces, esta variable es candidata
a ser básica sobre la tabla:

V. B. 𝑇 −1 Ctes. Col. Piv. 𝑥1


𝑥3 1 -1 0 2 -5
𝑥2 1 -1/2 0 7 -7/2
-z -2 3 1 6 -1
CAMBIOS EN COSTOS

Se obtiene que el problema modificado es no acotado. Y esto mismo ocurre


si 𝑐1 ∈ −∞, −13 .
Se observa, además, que cuando 𝑐1 = −13 , todas las soluciones de la
forma:
0,7,2 + 𝛿 1,7/2,5 , 𝛿 ≥ 0
son óptimas.

ii) Si, en el problema inicial, se cambia el costo de 𝑥2 por 𝑐2 = 2, el


problema modificado es:
min 3𝑥1 + 2𝑥2 + 4𝑥3
𝑠. 𝑎: −2𝑥1 + 2𝑥2 − 𝑥3 = 12
3𝑥1 + 2𝑥2 − 2𝑥3 = 10
𝑥𝑗 ≥ 0, 𝑗 = 1,2,3

Como 𝑥2 es una variable básica, hay que trabajar sobre la nueva tabla:

V. B. 𝑇 −1 Ctes.
𝑥3 1 -1 0 2
𝑥2 1 -1/2 0 7
-z -6 5 1 -22
CAMBIOS EN COSTOS

Los costos relativos para el problema modificado son:


−2 2 −1
−6,5,1 3 2 −2 = 30,0,0
3 2 4

Esto indica que la tabla anterior es óptima para el problema modificado.


Si se quiere determinar, respecto a la solución óptima del problema
inicial, el rango de optimalidad asociado a 𝑐2 , haciendo 𝑐2 = −2 + 𝛿,
obtenemos la tabla:

V. B. 𝑇 −1 Ctes.
𝑥3 1 -1 0 2
𝑥2 1 -1/2 0 7
-z -2−𝛿 3+𝛿/2 1 6−7𝛿

Los correspondientes costos relativos son:


−2 2 −1
−2 − 𝛿, 3 + 𝛿/2,1 3 2 −2 = 16 + 7𝛿/2,0,0
3 −2 + 𝛿 4
46
Por tanto, 𝛿 ≥ −32/7 y el rango de optimalidad de 𝑐2 es − 7 , ∞ .
CAMBIOS EN RECURSOS

Cambio en un recurso.
Supongamos que se sustituye 𝑏𝑖 por 𝑏𝑖′ para algún 𝑖 ∈ {1, … , 𝑚} . Esto podrá
afectar, solamente, a la factibilidad primal de la base B. En caso de que, para
el problema modificado, dicha base sea no factible primal, se aplicará el
Método Simplex Dual.
Ejemplo
Si en el problema inicial, se cambian los recursos por 12 + 𝛿, 10 , obtenemos
el problema modificado:
min 3𝑥1 − 2𝑥2 + 4𝑥3
𝑠. 𝑎: −2𝑥1 + 2𝑥2 − 𝑥3 = 12 + 𝛿
3𝑥1 + 2𝑥2 − 2𝑥3 = 10
𝑥𝑗 ≥ 0, 𝑗 = 1,2,3
Usando la tabla óptima del problema inicial, se obtiene:
V. B. 𝑇 −1 Ctes.
𝑥3 1 -1 0 2+𝛿
𝑥2 1 -1/2 0 7+𝛿
−𝑧𝛿 -2 3 1 6−2𝛿
Esta tabla es óptima si 𝛿 ≥ −2. Por tanto, en el problema inicial, el primer
recurso puede variar en 10, ∞ (rango de optimalidad) manteniéndose
óptima la base actual.
CAMBIOS EN RECURSOS
Si, en el problema inicial, el primer recurso se cambia por 5, 𝛿 = −7 y la
tabla inversa sobre la que se inicia la resolución del problema modificado
es:
V. B. 𝑇 −1 Ctes.
𝑥3 1 -1 0 -5
𝑥2 1 -1/2 0 0
-z -2 3 1 20
Se debe aplicar el Método Simplex Dual Revisado tratando de sacar de la
base a 𝑥3 . La primera fila actualizada es:
−2 2 −1
1, −1,0 3 2 −2 = −5,0,1
3 −2 4
La variable 𝑥1 debe entrar en la base a partir de la tabla:

V. B. 𝑇 −1 Ctes. Col. Piv. 𝑥1


𝑥3 1 -1 0 -5 -5
𝑥2 1 -1/2 0 0 -7/2
-z -2 3 1 20 16
CAMBIOS EN RECURSOS
La nueva tabla es:
V. B. 𝑇 −1 Ctes.
𝑥1 -1/5 1/5 0 1
𝑥2 3/10 1/5 0 7/2
-z 6/5 -1/5 1 4

Esta tabla es óptima para el problema modificado.


ADICIÓN DE UNA INECUACIÓN

Adición de una inecuación


i) De la forma
𝑛

෍ 𝑎𝑚+1𝑗 𝑥𝑗 ≤ 𝑏𝑚+1
𝑗=1

El problema inicial se modifica:


min 𝑐 𝑡 𝑥
𝑠. 𝑎: 𝐴𝑥 = 𝑏
𝑛
𝑛
෍ 𝑎𝑚+1𝑗 𝑥𝑗 ≤ 𝑏𝑚+1 ෍ 𝑎𝑚+1𝑗 𝑥𝑗 ≤ 𝑏𝑚+1
𝑗=1
𝑗=1
𝑥≥0 𝑥ҧ
Resulta obvio que si
𝑛

෍ 𝑎𝑚+1𝑗 𝑥𝑗ҧ ≤ 𝑏𝑚+1


𝑗=1

entonces 𝑥ҧ es también solución óptima del problema modificado


ADICIÓN DE UNA INECUACIÓN

En otro caso, es decir si


𝑛

෍ 𝑎𝑚+1𝑗 𝑥𝑗ҧ > 𝑏𝑚+1


𝑗=1

debemos convertir la inecuación añadida


en ecuación, introduciendo la variable de 𝑛

holgura correspondiente con valor igual a: ෍ 𝑎𝑚+1𝑗 𝑥𝑗 > 𝑏𝑚+1


𝑗=1
𝑛

𝑥𝑛+1 = 𝑏𝑚+1 − ෍ 𝑎𝑚+1𝑗 𝑥𝑗ҧ < 0 𝑥ҧ


𝑗=1
𝑛

෍ 𝑎𝑚+1𝑗 𝑥𝑗 ≤ 𝑏𝑚+1
𝑗=1
Por tanto, la base 𝐵 debe cambiarse por la
base ampliada:
𝐵 0
𝐵′ = 𝑡
𝛽 1

donde 𝛽 ∈ 𝑅𝑚 es el vector de los coeficientes de la restricción añadida


que se corresponden con variables básicas en 𝑥.ҧ
ADICIÓN DE UNA INECUACIÓN

De esta manera,
′ −1 𝐵−1 0
𝐵 =
−𝛽 𝑡 𝐵−1 1

sucediendo que 𝐵′ es una base factible dual (observamos que 𝑐𝐵′ 𝑡


= 𝑐𝐵𝑡 , 0 )
pero no factible primal. La aplicación del método simplex dual, utilizando 𝐵′
como base inicial, nos permitirá resolver el problema modificado

Adición de una inecuación


ii) De la forma 𝑛

෍ 𝑎𝑚+1𝑗 𝑥𝑗 ≥ 𝑏𝑚+1
𝑗=1

El razonamiento es similar al efectuado para el caso anterior pero con la


modificación que se refiere a:

𝐵 0
𝐵′ =
𝛽𝑡 −1
y a:
−1 𝐵 −1 0
𝐵′ = 𝑡 −1
𝛽 𝐵 −1
ADICIÓN DE UNA INECUACIÓN
Ejemplo
i) Si, en el problema inicial, se añade la restricción −𝑥2 + 𝑥3 ≥ 10, el
problema modificado es:
min 3𝑥1 − 2𝑥2 + 4𝑥3
𝑠. 𝑎: −2𝑥1 + 2𝑥2 − 𝑥3 = 12
3𝑥1 + 2𝑥2 − 2𝑥3 = 10
−𝑥2 + 𝑥3 ≥ 10
𝑥𝑗 ≥ 0, 𝑗 = 1,2,3

Como la solución óptima del problema inicial no verifica la nueva restricción


ya que −7 + 2 = −5 < 10, añadiendo la correspondiente variable de holgura,
el problema modificado se resuelve a partir de la tabla:
V. B. 𝑇 −1 Ctes.
𝑥3 1 -1 0 0 2
𝑥2 1 -1/2 0 0 7
𝑥4 0 -1/2 -1 0 -15
-z -2 3 0 1 6

Aplicando el Método Simplex Dual Revisado, la tercera fila actualizada es:


ADICIÓN DE UNA INECUACIÓN
−2 2 −1 0
1 3 2 −2 0 3
0, − , −1,0 = − , 0,0,1
2 0 −1 1 −1 2
3 −2 4 0
La variable 𝑥1 debe sustituir en la base a 𝑥4 sobre la tabla:

V. B. 𝑇 −1 Ctes. Col. Piv. 𝑥1


𝑥3 1 -1 0 0 2 -5
𝑥2 1 -1/2 0 0 7 -7/2
𝑥4 0 -1/2 -1 0 -15 -3/2
-z -2 3 0 1 6 16

La nueva tabla es:


V. B. 𝑇 −1 Ctes.
𝑥3 1 2/3 10/3 0 52
𝑥2 1 2/3 7/3 0 42
𝑥1 0 1/3 2/3 0 10
-z -2 -7/3 -32/3 1 -154

Esta tabla es óptima para el problema modificado.


ADICIÓN DE UNA INECUACIÓN

ii) Si, en el problema inicial, se añade la restricción 2𝑥2 − 2𝑥3 ≤ 7 , el


problema modificado es:
min 3𝑥1 − 2𝑥2 + 4𝑥3
𝑠. 𝑎: −2𝑥1 + 2𝑥2 − 𝑥3 = 12
3𝑥1 + 2𝑥2 − 2𝑥3 = 10
2𝑥2 − 2𝑥3 ≤ 7
𝑥𝑗 ≥ 0, 𝑗 = 1,2,3
Como la solución óptima del problema inicial no verifica la nueva
restricción ya que 14 − 4 = 10 > 7, añadiendo la correspondiente variable
de holgura, el problema modificado se resuelve a partir de la tabla:
V. B. 𝑇 −1 Ctes.
𝑥3 1 -1 0 0 2
𝑥2 1 -1/2 0 0 7
𝑥4 0 -1 1 0 -3
-z -2 3 0 1 6

Aplicando el Método Simplex Dual Revisado, la tercera fila actualizada es:


−2 2 −1 0
3 2 −2 0
0, −1,1,0 = −3,0,0,1
0 2 −2 1
3 −2 4 0
ADICIÓN DE UNA INECUACIÓN
La variable 𝑥1 debe sustituir en la base a 𝑥4 sobre la tabla:

V. B. 𝑇 −1 Ctes. Col. Piv. 𝑥1


𝑥3 1 -1 0 0 2 -5
𝑥2 1 -1/2 0 0 7 -7/2
𝑥4 0 -1 1 0 -3 -3
-z -2 3 0 1 6 16

La nueva tabla es:

V. B. 𝑇 −1 Ctes.
𝑥3 1 2/3 -5/3 0 7
𝑥2 1 2/3 -7/6 0 21/2
𝑥1 0 1/3 -1/3 0 1
-z -2 -7/3 16/3 1 -10

Esta tabla es óptima para el problema modificado


ADICIÓN DE UNA ECUACIÓN
Adición de una ecuación.
Se añade una ecuación en la forma
𝑛

෍ 𝑎𝑚+1𝑗 𝑥𝑗 = 𝑏𝑚+1
𝑗=1

El problema ampliado tendrá ahora la forma:


min 𝑐 𝑡 𝑥 𝑛

𝑠. 𝑎: 𝐴𝑥 = 𝑏 𝑥ҧ ෍ 𝑎𝑚+1𝑗 𝑥𝑗 = 𝑏𝑚+1
𝑛 𝑗=1

෍ 𝑎𝑚+1𝑗 𝑥𝑗 = 𝑏𝑚+1
𝑗=1
𝑥≥0
Resulta obvio que si
𝑛

෍ 𝑎𝑚+1𝑗 𝑥𝑗ҧ = 𝑏𝑚+1


𝑗=1

entonces 𝑥ҧ es también solución óptima del problema modificado. En otro


caso, procedemos de la siguiente manera:
ADICIÓN DE UNA ECUACIÓN
𝑛
Si
෍ 𝑎𝑚+1𝑗 𝑥𝑗ҧ < 𝑏𝑚+1
𝑗=1

podemos hacer que se verifique la ecuación añadida si usamos una variable


artificial que, si el problema modificado tiene solución, se podrá eliminar
convenientemente. Por tanto, el problema ampliado se ha de transformar,
por ejemplo, en:
min 𝑐 𝑡 𝑥 + 𝑀𝑥𝑛+1
𝑠. 𝑎: 𝐴𝑥 = 𝑏
𝑛

෍ 𝑎𝑚+1𝑗 𝑥𝑗 + 𝑥𝑛+1 = 𝑏𝑚+1


𝑗=1
𝑥 ≥ 0, 𝑥𝑛+1 ≥ 0
Las variables básicas iniciales serán ahora 𝑥𝐵𝑡 , 𝑥𝑛+1

y la base 𝐵′ con la cual debe arrancar el Método de Penalización, será:


𝐵 0 (𝛽 está definido como en el caso anterior)
𝐵′ =
𝛽𝑡 1
la cual asignará a 𝑥𝑛+1 el valor
𝑛
inicial igual a:
𝑥𝑛+1 = 𝑏𝑚+1 − ෍ 𝑎𝑚+1𝑗 𝑥𝑗ҧ = 𝑏𝑚+1 − 𝛽 𝑡 𝐵 −1 𝑏 > 0
𝑗=1
ADICIÓN DE UNA ECUACIÓN
𝑛
Si
෍ 𝑎𝑚+1𝑗 𝑥𝑗ҧ > 𝑏𝑚+1
𝑗=1

se realiza un análisis similar sobre el problema:


min 𝑐 𝑡 𝑥 + 𝑀𝑥𝑛+1
𝑠. 𝑎: 𝐴𝑥 = 𝑏
𝑛

෍ 𝑎𝑚+1𝑗 𝑥𝑗 − 𝑥𝑛+1 = 𝑏𝑚+1


𝑗=1
𝑥 ≥ 0, 𝑥𝑛+1 ≥ 0
De nuevo, las variables básicas iniciales serán 𝑥𝐵𝑡 , 𝑥𝑛+1
y la base 𝐵′ con la cual debe arrancar el Método de Penalización, será:

𝐵 0
𝐵′ = (𝛽 está definido como en el caso anterior)
𝛽𝑡 −1
la cual asignará a 𝑥𝑛+1 el valor inicial igual a:
𝑛

𝑥𝑛+1 = − ෍ 𝑎𝑚+1𝑗 𝑥𝑗ҧ − 𝑏𝑚+1 = 𝛽 𝑡 𝐵−1 𝑏 − 𝑏𝑚+1 > 0


𝑗=1
ADICIÓN DE UNA ECUACIÓN
Ejemplo
Si, en el problema inicial, se añade la restricción −2𝑥2 + 2𝑥3 = 8, el problema
modificado es:
min 3𝑥1 − 2𝑥2 + 4𝑥3
𝑠. 𝑎: −2𝑥1 + 2𝑥2 − 𝑥3 = 12
3𝑥1 + 2𝑥2 − 2𝑥3 = 10
−2𝑥2 + 2𝑥3 = 8
𝑥𝑗 ≥ 0, 𝑗 = 1,2,3

La solución óptima de (1) no verifica la nueva restricción ya que −14 + 4 =


− 10 < 8. Sumando una variable artificial a la ecuación añadida, el
problema modificado se resuelve sobre el siguiente problema auxiliar:

min 3𝑥1 − 2𝑥2 + 4𝑥3 + 𝑀𝑥4


𝑠. 𝑎: −2𝑥1 + 2𝑥2 − 𝑥3 = 12
3𝑥1 + 2𝑥2 − 2𝑥3 = 10
−2𝑥2 + 2𝑥3 + 𝑥4 = 8
𝑥𝑗 ≥ 0, 𝑗 = 1,2,3,4

sobre la tabla:
ADICIÓN DE UNA ECUACIÓN

V. B. 𝑇 −1 Ctes. Col. Piv. 𝑥1


𝑥3 1 -1 0 0 2 -5
𝑥2 1 -1/2 0 0 7 -7/2
𝑥4 0 1 1 0 18 3
−𝑧𝑀 -2 3-M -M 1 6-18M 16-3M
Los costos relativos son:
−2 2 −1 0
3 2 −2 0
−2,3 − 𝑀, −𝑀, 1 = 16 − 3𝑀, 0,0,0
0 −2 2 1
3 −2 4 𝑀

La variable 𝑥1 debe sustituir en la base a 𝑥4 :

V. B. 𝑇 −1 Ctes.
𝑥3 1 2/3 5/3 0 32
𝑥2 1 2/3 7/6 0 28
𝑥1 0 1/3 1/3 0 6
−𝑧𝑀 -2 -7/3 -16/3 1 -90
ADICIÓN DE UNA ECUACIÓN

Los nuevos costos relativos son:

−2 2 −1 0
7 16 3 2 −2 0 16
−2, − , − , 1 = 0,0,0, − +𝑀
3 3 0 −2 2 1 3
3 −2 4 𝑀

La anterior tabla es óptima para el problema auxiliar y, por


tanto, eliminando 𝑥4 , se tiene una solución óptima para el
problema modificado.
ADICIÓN DE UNA NUEVA VARIABLE
Adición de una nueva variable
Supongamos que se añade una nueva variable 𝑥𝑛+1 con costo igual a 𝑐𝑛+1 y
vector coeficientes tecnológicos igual a 𝑎𝑛+1 . Entonces, el problema ampliado
será: min 𝑐 𝑡 𝑥 + 𝑐𝑛+1 𝑥𝑛+1
𝑠. 𝑎: 𝐴𝑥 + 𝑎𝑛+1 𝑥𝑛+1 = 𝑏
𝑥 ≥ 0, 𝑥𝑛+1 ≥ 0
Sucederá que si
𝑐𝑛+1
ҧ = 𝑐𝑛+1 − 𝑐𝐵𝑡 𝐵−1 𝑎𝑛+1 ≥ 0
entonces 𝑥ҧ es también solución óptima del problema modificado. En otro
caso, debemos aplicar el Método Simplex Primal para resolver el nuevo
problema.
Ejemplo
Si, al problema inicial, se añade una nueva variable, 𝑥4 , con costo 𝑐4 = −12 y
4
con coeficientes tecnológicos 𝑎4 = , el problema modificado es:
6
min 3𝑥1 − 2𝑥2 + 4𝑥3 − 12 𝑥4
𝑠. 𝑎: −2𝑥1 + 2𝑥2 − 𝑥3 + 4𝑥4 = 12
3𝑥1 + 2𝑥2 − 2𝑥3 + 6𝑥4 = 10
𝑥𝑗 ≥ 0, 𝑗 = 1,2,3,4
ADICIÓN DE UNA NUEVA VARIABLE
El costo relativo de esta nueva variable es:
4
−2,3,1 6 = −2
−12
Entonces, 𝑥4 es candidata a entrar en la base sobre la tabla:

V. B. 𝑇 −1 Ctes. Col. Piv. 𝑥4


𝑥3 1 -1 0 2 -2
𝑥2 1 -1/2 0 7 1
−𝑧 -2 -3 1 6 -2
La variable 𝑥2 debe salir de la base. La nueva tabla es:

V. B. 𝑇 −1 Ctes.
𝑥3 3 -2 0 16
𝑥4 1 -1/2 0 7
−𝑧 0 2 1 20
Los costos relativos para el problema modificado son:
−2 2 −1 4
0,2,1 3 2 −2 6 = 9,2,0,0
3 −2 4 −12
Esta tabla es óptima para el problema modificado.
MODIFICACIÓN DE LOS COEFICIENTES DE UNA VARIABLE
Cambio de los coeficientes de las restricciones correspondientes a
una variable.
El problema modificado será
min 𝑐 𝑡 𝑥
𝑠. 𝑎: 𝐴′𝑥 = 𝑏
𝑥≥0
𝑗
donde 𝐴′ = 𝑎1 , … , 𝑎 𝑗−1 , 𝑎′ , 𝑎 𝑗+1 , … , 𝑎𝑛

es decir, igual a 𝐴 salvo la columna j-ésima para algún 𝑗 ∈ {1, … , 𝑛}.

Distinguiremos de nuevo dos subcasos:

i) La variable 𝑥𝑗 es no básica en la solución óptima 𝑥ҧ .


En este caso, la nueva situación sólo puede afectar al costo relativo asociado
a 𝑥𝑗 . Se calcula entonces
𝑐𝑗ҧ = 𝑐𝑗 − 𝑐𝐵𝑡 𝐵−1 𝑎′𝑗 ≥ 0

y se aplica, si corresponde, el Método Simplex Primal.


MODIFICACIÓN DE LOS COEFICIENTES DE UNA VARIABLE

ii) La variable 𝑥𝑗 es básica y, por tanto, la nueva situación afecta a la base,


a su inversa, a los costos relativos, al valor de la variables básicas y al
valor de la función objetivo.

Para aprovechar la base asociada a la optimalidad del problema inicial, se


convierte 𝑥𝑗 en variable artificial. Esto permitirá, en su caso, eliminar el
“estatus” anterior de dicha variable. Además, se añade la variable 𝑥𝑛+1
que se convierte en la nueva 𝑥𝑗 , con costo igual a 𝑐𝑗 y vector de
coeficientes tecnológicos igual a 𝑎′𝑗 .

Consideramos entonces, para resolver el problema modificado, el problema


auxiliar:
𝑛

min ෍ 𝑐𝑙 𝑥𝑙 + 𝑀𝑥𝑗 + 𝑐𝑗 𝑥𝑛+1


𝑙=1
𝑙≠𝑗
𝐴𝑥 + 𝑎′𝑗 𝑥𝑛+1 = 𝑏
𝑥 ≥ 0, 𝑥𝑛+1 ≥ 0

y aplicamos el Método de Penalización tomando 𝐵 como base inicial.


MODIFICACIÓN DE LOS COEFICIENTES DE UNA VARIABLE
Ejemplo
i) Si, en el problema inicial, se cambian los coeficientes tecnológicos de la
2
primera variable por , el problema modificado es:
−3
min 3𝑥1 − 2𝑥2 + 4𝑥3
𝑠. 𝑎: 2𝑥1 + 2𝑥2 − 𝑥3 = 12
−3𝑥1 + 2𝑥2 − 2𝑥3 = 10
𝑥𝑗 ≥ 0, 𝑗 = 1,2,3
Al tratarse de una variable no básica en la solución óptima del problema
inicial, se debe calcular el nuevo costo relativo:
2
−2,3,1 −3 = −10
3
𝑥1 es candidata a entrar en la base sobre la tabla:

V. B. 𝑇 −1 Ctes. Col. Piv. 𝑥1


𝑥3 1 -1 0 2 5
𝑥2 1 -1/2 0 7 7/2
−𝑧 -2 -3 1 6 -10

𝑥3 sale de la base:
MODIFICACIÓN DE LOS COEFICIENTES DE UNA VARIABLE

V. B. 𝑇 −1 Ctes.
𝑥1 1/5 -1/5 0 2/5
𝑥2 3/10 1/5 0 28/5
−𝑧 0 1 1 10
Los nuevos costos relativos son:
2 2 −1
0,1,1 −3 2 −2 = 0,0,2
3 −2 4
Por tanto, la solución anterior es óptima para el problema modificado.
MODIFICACIÓN DE LOS COEFICIENTES DE UNA VARIABLE
ii) Si, en el problema inicial, se cambian los coeficientes tecnológicos de la
1
tercera variable por , el problema modificado es:
−1
min 3𝑥1 − 2𝑥2 + 4𝑥3
𝑠. 𝑎: −2𝑥1 + 2𝑥2 + 𝑥3 = 12
3𝑥1 + 2𝑥2 − 𝑥3 = 10
𝑥𝑗 ≥ 0, 𝑗 = 1,2,3
Al tratarse de una variable básica, para resolver este problema usamos el
problema auxiliar:
min 3𝑥1 − 2𝑥2 + 𝑀𝑥3 + 4 𝑥4
𝑠. 𝑎: −2𝑥1 + 2𝑥2 − 𝑥3 + 𝑥4 = 12
3𝑥1 + 2𝑥2 − 2𝑥3 − 𝑥4 = 10
𝑥𝑗 ≥ 0, 𝑗 = 1,2,3,4
sobre la tabla:

V. B. 𝑇 −1 Ctes. Col. Piv. 𝑥4


𝑥3 1 -1 0 2 2
𝑥2 1 -1/2 0 7 3/2
−𝑧𝑀 2-M -1+M 1 14-2M 7-2M
MODIFICACIÓN DE LOS COEFICIENTES DE UNA VARIABLE

Los costos relativos para el problema auxiliar son:


−2 2 −1 1
2 − 𝑀, −1 + 𝑀, 1 3 2 −2 −1 = −4 + 5𝑀, 0,0,7 − 2𝑀
3 −2 𝑀 4

La variable 𝑥4 sustituye a 𝑥3 en la base:

V. B. 𝑇 −1 Ctes.
𝑥4 1/2 -1/2 0 1
𝑥2 1/4 1/4 0 11/2
−𝑧𝑀 -3/2 5/2 1 7

Los nuevos costos relativos son:

3 5 −2 2 −1 1 17 7
− , ,1 3 2 −2 −1 = , 0, − + 𝑀, 0
2 2 2 2
3 −2 𝑀 4

La tabla anterior es óptima para el problema auxiliar y, al ser no básica la


variable artificial añadida, es óptima para el problema modificado.
TEMA 9: PROBLEMAS CON VARIABLES ACOTADAS
Formulación y propiedades.
El Método del Simplex para variables acotadas.
En la práctica, los niveles de las actividades tienen cotas inferiores y
superiores. Contemplar esta novedad supone algunas modificaciones del
Método del Simplex que, sustancialmente, se reducen a un manejo
conveniente de las restricciones de cotas; implícito, como sucedió
anteriormente con las restricciones de no negatividad.
En este capítulo, después de la adaptación de conceptos y propiedades al
nuevo tipo de problemas, desarrollamos el Método del Simplex para variables
acotadas.

𝑢2

𝑙2

𝑙1 𝑢1
FORMULACIÓN
El problema de Programación Lineal con variables acotadas se define como:
min 𝑐 𝑡 𝑥
𝑠. 𝑎: 𝐴𝑥 = 𝑏
𝑙≤𝑥≤𝑢
siendo 𝑐 ∈ 𝑅 el vector de costos, b∈ 𝑅𝑚 el vector de recursos, 𝐴 la matriz de
𝑛

restricciones o de coeficientes tecnológicos, de orden 𝑚 × 𝑛 y rango m, 𝑙, 𝑢 ∈


𝑅𝑛 , 𝑙 ≤ 𝑢, son los vectores de cotas inferiores y superiores, respectivamente.

Este problema se puede convertir al formato estándar con sólo restricciones


de no negatividad si se hace el cambio de variable 𝑦 = 𝑥 − 𝑙:

min 𝑐 𝑡 𝑦 + 𝑙 𝑐 𝑡 𝑙 + min 𝑐 𝑡 𝑦
𝑠. 𝑎: 𝐴 𝑦 + 𝑙 = 𝑏 𝑠. 𝑎: 𝐴𝑦 = 𝑏 − 𝐴𝑙
𝑦+𝑙 ≤𝑢 𝑦≤𝑢−𝑙
𝑦≥0 𝑦≥0
Esta conversión presenta la desventaja de la adición de un número
importante de restricciones sencillas que dificultan los cálculos matriciales.
Por ello se hace un uso implícito de ellas.
DEFINICIONES Y PROPIEDADES
Solución básica factible primal
𝑥ҧ es una solución básica si existe una base B para A, con 𝐴 = 𝐵, 𝑁1 , 𝑁2 , de
forma que 𝑥ҧ𝑁1 = 𝑙𝑁1 , 𝑥ҧ𝑁2 = 𝑢𝑁2 y 𝑥ҧ𝐵 = 𝐵 −1 𝑏 − 𝐵 −1 𝑁1 𝑙𝑁1 − 𝐵 −1 𝑁2 𝑢𝑁2 = 𝑏෠
Una solución básica es factible primal si, además, 𝑙𝐵 ≤ 𝑥ҧ𝐵 ≤ 𝑢𝐵 .
El número de soluciones básicas es, como máximo:
𝑛−𝑚
𝑛 𝑛−𝑚 𝑛−𝑚 𝑛
෍ 𝑗 = 2
𝑚 𝑚
𝑗=0
Propiedad
Si existe, el óptimo se alcanza en una solución básica factible primal.
Condición de optimalidad
El valor objetivo de una solución básica factible primal es
𝑐𝐵𝑡 𝑥ҧ𝐵 + 𝑐𝑁𝑡 1 𝑥ҧ𝑁1 + 𝑐𝑁𝑡 2 𝑥ҧ𝑁2 = 𝑐𝐵𝑡 𝐵−1 𝑏 − 𝑐𝐵𝑡 𝐵−1 𝑁1 𝑙𝑁1 − 𝑐𝐵𝑡 𝐵−1 𝑁2 𝑢𝑁2 +𝑐𝑁𝑡 1 𝑙𝑁1 + 𝑐𝑁𝑡 2 𝑢𝑁2
= 𝑐𝐵𝑡 𝑏෠ + 𝑐𝑁𝑡 1 𝑙𝑁1 + 𝑐𝑁𝑡 2 𝑢𝑁2
Para cualquier solución factible 𝑥 se tiene que:
𝑥𝐵 = 𝐵−1 𝑏 − 𝐵−1 𝑁1 𝑥𝑁1 − 𝐵−1 𝑁2 𝑥𝑁2 , 𝑥𝑁1 = 𝑙𝑁1 + 𝑦𝑁1 , 𝑥𝑁2 = 𝑢𝑁2 − 𝑦𝑁2
con 𝑦𝑁1 , 𝑦𝑁2 ≥ 0.
Sustituyendo convenientemente:
𝑐 𝑡 𝑥 = 𝑐 𝑡 𝑥ҧ + 𝑐𝑁 ҧ𝑡 1 𝑦𝑁1 − 𝑐𝑁ҧ𝑡 2 𝑦𝑁2
Por tanto, 𝑥ҧ es óptima si 𝑐𝑁 ҧ 1 ≥ 0 y 𝑐𝑁 ҧ 2≤0
Una solución básica es factible dual si 𝑐𝑁
ҧ 1 ≥ 0 y 𝑐𝑁
ҧ 2 ≤ 0.
MEJORA DE UNA SOLUCIÓN BÁSICA FACTIBLE
Dada una solución básica factible, si no es óptima es porque:
∃𝑗 ∈ 𝑁1 tal que 𝑐𝑗ҧ < 0
ó
∃𝑗 ∈ 𝑁2 tal que 𝑐𝑗ҧ > 0
Es decir, se puede mejorar el valor objetivo incrementando una variable que,
actualmente, está en su cota inferior ó rebajando una variable que está
actualmente en su cota superior.
Se define:
𝑠 = arg min 𝑐𝑗ҧ |𝑗 ∈ 𝑁1 , 𝑐𝑗ҧ < 0 ∪ −𝑐𝑗ҧ |𝑗 ∈ 𝑁2 , 𝑐𝑗ҧ > 0

Caso 1:𝑠 ∈ 𝑁1
Actualmente 𝑥𝑠 = 𝑙𝑠 e interesa incrementarla en 𝜆 ≥ 0.
𝑏෠
Por tanto, a partir de la solución básica actual 𝑙𝑁1 , se busca sobre la
𝑢𝑁2
−𝑦 𝑠
dirección 𝑒 𝑠 , (𝑦 𝑠 = 𝐵 −1 𝑎 𝑠 , 𝑒 𝑠 el vector unitario de la coordenada s-ésima
0
de 𝑅 1 ), eligiendo el mayor 𝜆 que sea posible, verificando
𝑁

𝑏෠ −𝑦 𝑠
𝑙 ≤ 𝑙𝑁1 + 𝜆 𝑒 𝑠 ≤ 𝑢
𝑢𝑁2 0
MEJORA DE UNA SOLUCIÓN BÁSICA FACTIBLE
Por tanto:
𝑙𝐵 ≤ 𝑏෠ − 𝜆𝑦 𝑠
𝑏෠ − 𝜆𝑦 𝑠 ≤ 𝑢𝐵
𝑙𝑠 + 𝜆 ≤ 𝑢𝑠
𝑏෠ 𝑖 −𝑙𝐵𝑖
Para que 𝑙𝐵𝑖 ≤ 𝑏෠𝑖 − 𝜆𝑦𝑖𝑠 , es necesario que 𝜆 ≤ , cuando 𝑦𝑖𝑠 > 0.
𝑦𝑖𝑠
Por ello, definimos:
∞, 𝑠𝑖 𝑦 𝑠 ≤ 0
𝜆1 = 𝑏෠𝑖 − 𝑙𝐵𝑖
𝑚𝑖𝑛 |𝑦𝑖𝑠 > 0 , 𝑠𝑖 𝑦 𝑠 ≰ 0
𝑦𝑖𝑠

𝑢𝐵𝑖 −𝑏෠ 𝑖
Para que 𝑏෠𝑖 − 𝜆𝑦𝑖𝑠 ≤ 𝑢𝐵𝑖 , es necesario que 𝜆 ≤ , cuando 𝑦𝑖𝑠 < 0.
−𝑦𝑖𝑠
Por ello, definimos:
∞, 𝑠𝑖 𝑦 𝑠 ≥ 0
𝜆2 = 𝑢𝐵𝑖 − 𝑏෠𝑖
𝑚𝑖𝑛 |𝑦𝑖𝑠 < 0 , 𝑠𝑖 𝑦 𝑠 ≱ 0
−𝑦𝑖𝑠
Para que 𝑙𝑠 + 𝜆 ≤ 𝑢𝑠 , 𝜆 ≤ 𝑢𝑠 − 𝑙𝑠 = 𝜆3 .
Sea 𝜆ҧ = min 𝜆1 , 𝜆2 , 𝜆3 . Si 𝜆ҧ = ∞ , el problema es no acotado. En otro caso,
conviene trabajar con la solución básica factible:
MEJORA DE UNA SOLUCIÓN BÁSICA FACTIBLE

𝑏෠ −𝑦 𝑠
𝑥′ = 𝑙𝑁1 + 𝜆ҧ 𝑒 𝑠
𝑢𝑁2 0

𝑏𝑟 −𝑙𝐵 ෠
𝑏𝑟 −𝑙𝐵
Si 𝜆ҧ = 𝜆1 = 𝑦 𝑟 , con 𝑦𝑟𝑠 > 0, 𝑥𝑟′ = 𝑏෠𝑟 − 𝑦 𝑟 𝑦𝑟𝑠 = 𝑙𝐵𝑟 . Por tanto, en este caso,
𝑟𝑠 𝑟𝑠
tendremos para que las variables básicas son las de 𝐵 − 𝑟 ∪ 𝑠 . Las
𝑥′
variables no básicas en su cota inferior son las de 𝑁1 − 𝑠 ∪ 𝑟 . Las variables
no básicas en su cota superior son las de 𝑁2
𝑢𝐵𝑟 −𝑏𝑟 ෠ ෠
𝑢𝐵𝑟 −𝑏𝑟
Si 𝜆ҧ = 𝜆2 = −𝑦 , con 𝑦𝑟𝑠 < 0,𝑥𝑟′ = 𝑏෠𝑟 − −𝑦 𝑦𝑟𝑠 = 𝑢𝐵𝑟 . Por tanto, en este caso,
𝑟𝑠 𝑟𝑠
tendremos para que las variables básicas son las de 𝐵 − 𝑟 ∪ 𝑠 . Las
𝑥′
variables no básicas en su cota inferior son las de 𝑁1 − 𝑠 . Las variables no
básicas en su cota superior son las de 𝑁2 ∪ 𝑟
Si 𝜆3 = 𝑢𝑠 − 𝑙𝑠 , en 𝑥 ′ las variables básicas son las de 𝐵 , las variables no
básicas en su cota inferior son las de 𝑁1 − 𝑠 y las variables no básicas en su
cota superior son las de 𝑁2 ∪ 𝑠 .
MEJORA DE UNA SOLUCIÓN BÁSICA FACTIBLE
Caso 2:𝑠 ∈ 𝑁2
Actualmente 𝑥𝑠 = 𝑢𝑠 e interesa rebajarla en 𝜆 ≥ 0.
𝑏෠
Por tanto, a partir de la solución básica actual 𝑙𝑁1 , se busca sobre la
𝑢𝑁2
−𝑦 𝑠
dirección 0 , (𝑦 𝑠 = 𝐵 −1 𝑎 𝑠 , 𝑒 𝑠 el vector unitario de la coordenada s-ésima
𝑒𝑠
de 𝑅 𝑁2 ), eligiendo el mayor 𝜆 que sea posible, verificando:
𝑏෠ −𝑦 𝑠
𝑙 ≤ 𝑙𝑁1 − 𝜆 0 ≤𝑢
𝑢𝑁2 𝑒𝑠

Por tanto:
𝑙𝐵 ≤ 𝑏෠ + 𝜆𝑦 𝑠
𝑏෠ + 𝜆𝑦 𝑠 ≤ 𝑢𝐵
𝑙𝑠 ≤ 𝑢𝑠 − 𝜆
MEJORA DE UNA SOLUCIÓN BÁSICA FACTIBLE
𝑏෠ 𝑖 −𝑙𝐵𝑖
Para que 𝑙𝐵𝑖 ≤ 𝑏෠𝑖 + 𝜆𝑦𝑖𝑠 , es necesario que 𝜆 ≤ , cuando 𝑦𝑖𝑠 < 0.
−𝑦𝑖𝑠
Por ello, definimos:
∞, 𝑠𝑖 𝑦 𝑠 ≥ 0
𝜆1 = 𝑏෠𝑖 − 𝑙𝐵𝑖
𝑚𝑖𝑛 |𝑦𝑖𝑠 < 0 , 𝑠𝑖 𝑦 𝑠 ≱ 0
−𝑦𝑖𝑠
𝑢𝐵𝑖 −𝑏෠ 𝑖
Para que 𝑏෠𝑖 + 𝜆𝑦𝑖𝑠 ≤ 𝑢𝐵𝑖 , es necesario que 𝜆 ≤ , cuando 𝑦𝑖𝑠 > 0.
𝑦𝑖𝑠
Por ello, definimos:
∞, 𝑠𝑖 𝑦 𝑠 ≤ 0
𝜆2 = 𝑢𝐵𝑖 − 𝑏෠𝑖
𝑚𝑖𝑛 |𝑦𝑖𝑠 > 0 , 𝑠𝑖 𝑦 𝑠 ≰ 0
𝑦𝑖𝑠

Para que 𝑙𝑠 ≤ 𝑢𝑠 − 𝜆, 𝜆 ≤ 𝑢𝑠 − 𝑙𝑠 = 𝜆3 .

Sea 𝜆ҧ = min 𝜆1 , 𝜆2 , 𝜆3 . Si 𝜆ҧ = ∞ , el problema es no acotado. En otro caso,


conviene trabajar con la solución básica factible:
MEJORA DE UNA SOLUCIÓN BÁSICA FACTIBLE

𝑏෠ −𝑦 𝑠
𝑥′ = 𝑙𝑁1 − 𝜆ҧ 0
𝑢𝑁2 𝑒𝑠

𝑏𝑟 −𝑙𝐵 ෠
𝑏𝑟 −𝑙𝐵
Si 𝜆ҧ = 𝜆1 = −𝑦 𝑟 , con 𝑦𝑟𝑠 < 0,𝑥𝑟′ = 𝑏෠𝑟 + −𝑦 𝑟 𝑦𝑟𝑠 = 𝑙𝐵𝑟 . Por tanto, en este caso,
𝑟𝑠 𝑟𝑠
tendremos para que las variables básicas son las de 𝐵 − 𝑟 ∪ 𝑠 . Las
𝑥′
variables no básicas en su cota inferior son las de 𝑁1 ∪ 𝑟 . Las variables no
básicas en su cota superior son las de 𝑁2 − 𝑠
𝑢𝐵 −𝑏𝑟 ෠ 𝑢𝐵 −𝑏𝑟 ෠
Si 𝜆ҧ = 𝜆2 = 𝑦𝑟 , con 𝑦𝑟𝑠 > 0,𝑥𝑟′ = 𝑏෠𝑟 + 𝑦𝑟 𝑦𝑟𝑠 = 𝑢𝐵𝑟 . Por tanto, en este caso,
𝑟𝑠 𝑟𝑠
tendremos para que las variables básicas son las de 𝐵 − 𝑟 ∪ 𝑠 . Las
𝑥′
variables no básicas en su cota inferior son las de 𝑁1 . Las variables no
básicas en su cota superior son las de 𝑁2 − 𝑠 ∪ 𝑟
Si 𝜆3 = 𝑢𝑠 − 𝑙𝑠 , en 𝑥 ′ las variables básicas son las de 𝐵 , las variables no
básicas en su cota inferior son las de 𝑁2 − 𝑠 y las variables no básicas en su
cota superior son las de 𝑁1 ∪ 𝑠 .
MÉTODO DEL SIMPLEX PARA VARIABLES ACOTADAS
Inicio
Determinar una solución básica factible primal inicial (hay que fijar una
descomposición de 𝐴 = 𝐵, 𝑁1 , 𝑁2 con variables no básicas en una de sus
cotas y con variables básicas entre sus cotas). Si es necesario añadir
variables artificiales, hay que arbitrar el correspondiente procedimiento de
eliminación de dichas variables.
Etapa general
Si 𝑐𝑁
ҧ 1 ≥ 0 y 𝑐𝑁
ҧ 2 ≤ 0 , parar. En otro caso, determinar 𝑠 = arg min ቄ൛𝑐𝑗ҧ |𝑗 ∈ 𝑁1 ,
𝑐𝑗ҧ < 0ൟ ∪ −𝑐𝑗ҧ |𝑗 ∈ 𝑁2 , 𝑐𝑗ҧ > 0 ቅ y calcular 𝜆ҧ = min 𝜆1 , 𝜆2 , 𝜆3 . Si 𝜆ҧ = ∞, el problema
es no acotado; si 𝜆ҧ < ∞, realizar la correspondiente operación de pivotaje,
actualizar la descomposición de 𝐴 = 𝐵, 𝑁1 , 𝑁2 y repetir.

Este algoritmo está pensado para el caso de mínimo.


Para el caso de un problema de máximo la condición de optimalidad es:
ҧ 1 ≤ 0 y 𝑐𝑁
𝑐𝑁 ҧ 2≥0
Por ello, en este caso:
𝑠 = arg m𝑎𝑥 𝑐𝑗ҧ |𝑗 ∈ 𝑁1 , 𝑐𝑗ҧ > 0 ∪ −𝑐𝑗ҧ |𝑗 ∈ 𝑁2 , 𝑐𝑗ҧ < 0
determinará el índice de la variable candidata a entrar en la base.
APLICACIÓN DEL MÉTODO
Ejemplo
Resolver el problema:
min −6𝑥1 + 4𝑥2 + 𝑥3
𝑠. 𝑎: −2𝑥1 + 2𝑥2 − 𝑥3 + 𝑥4 =8
2𝑥1 − 𝑥2 + 𝑥3 + 𝑥5 = 6
1 ≤ 𝑥1 ≤ 6
0 ≤ 𝑥2 ≤ 5
1 ≤ 𝑥3 ≤ 4
0 ≤ 𝑥4
0 ≤ 𝑥5
Añadimos a las tablas manejadas hasta ahora una fila que contiene las cotas
asociadas a las variables no básicas (- para variables básicas) y una columna
que contiene los nuevos valores de las constantes. La anterior columna de
constantes pasa a denominarse columna de trabajo (C. T.).
Consideramos que 𝐵 = 4,5 , 𝑁1 = 1,3 y 𝑁2 = 2
1 5 1 - -
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -z C. T. Ctes.
𝑥4 -2 2 -1 1 0 0 8 1
𝑥5 2 -1 1 0 1 0 6 8
-z -6 4 1 0 0 1 0 -15
Observamos que 𝑠 = 1, 𝜆1 = 4, 𝜆2 = ∞, 𝜆3 = 5. En definitiva, 𝜆ҧ = 𝜆1 =4. La
variable 𝑥1 se convierte en básica y 𝑥5 en no básica en su cota inferior.
APLICACIÓN DEL MÉTODO
Tendremos entonces 𝐵 = 1,4 , 𝑁1 = 3, 5 y 𝑁2 = 2 . La nueva tabla es:

- 5 1 - 0
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -z C. T. Ctes.
𝑥4 0 1 0 1 1 0 14 9
𝑥1 1 -1/2 1/2 0 1/2 0 3 5
-z 0 1 4 0 3 1 18 9
Ahora 𝑠 = 2, 𝜆1 = 8, 𝜆2 = ∞, 𝜆3 = 5. En definitiva, 𝜆ҧ = 𝜆3 = 5. La variable 𝑥2
sigue como no básica pero su valor pasa a su cota inferior.
Resultará que 𝐵 = 1,4 , 𝑁1 = 2, 3, 5 y 𝑁2 = ∅. La nueva tabla es:

- 0 1 - 0
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -z C. T. Ctes.
𝑥4 0 1 0 1 1 0 14 14
𝑥1 1 -1/2 1/2 0 1/2 0 3 5 /2
-z 0 1 4 0 3 1 18 14
Tenemos que esta tabla es óptima
APLICACIÓN DEL MÉTODO
Ejemplo
Resolver el problema:
min −4𝑥1 + 2𝑥2 + 3𝑥3
𝑠. 𝑎: −𝑥1 + 2𝑥2 − 4𝑥3 = 16
2𝑥1 − 2𝑥2 + 𝑥3 = 12
1 ≤ 𝑥1 ≤ 9
1 ≤ 𝑥2 ≤ 6
1 ≤ 𝑥3 ≤ 5
Como no disponemos de una solución básica inicial, añadimos variables
artificiales y procedemos aplicando el Método de las dos Fases.
El problema de la Fase I es:
min 𝑥4 + 𝑥5
𝑠. 𝑎: −𝑥1 + 2𝑥2 − 4𝑥3 + 𝑥4 = 16
2𝑥1 − 2𝑥2 + 𝑥3 + 𝑥5 = 12
1 ≤ 𝑥1 ≤ 9
1 ≤ 𝑥2 ≤ 6
1 ≤ 𝑥3 ≤ 5
0 ≤ 𝑥4
0 ≤ 𝑥5
Inicialmente 𝐵 = 4,5 , 𝑁1 = 1,2,3 y 𝑁2 = ∅
APLICACIÓN DEL MÉTODO

1 1 1 - -
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -w C. T. Ctes.
𝑥4 -1 2 -4 1 0 0 16 19
𝑥5 2 -2 1 0 1 0 12 11
-w -1 0 3 0 0 1 -28 -30
Tenemos que 𝑠 = 1, 𝜆1 = 11/2, 𝜆2 = ∞, 𝜆3 = 8. En definitiva, 𝜆ҧ = 𝜆1 = 11/2. La
variable 𝑥1 se convierte en básica y 𝑥5 en no básica en su cota inferior.
Tendremos:
𝐵 = 1,4 , 𝑁1 = 2,3,5 y 𝑁2 = ∅
sobre la tabla:

- 1 1 - 0
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -w C. T. Ctes.
𝑥4 0 1 -7/2 1 1/2 0 22 49/2
𝑥1 1 -1 1/2 0 1/2 0 6 13/2
-w 0 -1 7/2 0 1/2 1 -22 -49/2

Como 𝑠 = 2, 𝜆1 = 49/2, 𝜆2 = 5/2, 𝜆3 = 5. En definitiva, 𝜆ҧ = 𝜆2 = 5/2. La variable


𝑥2 se convierte en básica y 𝑥1 en no básica en su cota superior; es decir, 𝐵 =
2,4 , 𝑁1 = 3,5 y 𝑁2 = 1
APLICACIÓN DEL MÉTODO
9 - 1 - 0
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -w C. T. Ctes.
𝑥4 1 0 -3 1 1 0 28 22
𝑥2 -1 1 -1/2 0 -1/2 0 -6 7/2
-w -1 0 3 0 0 1 -28 -22
La tabla actual es óptima. Tenemos una variable artificial en la base con valor
positivo. Esto indica que el problema inicial es no factible.
APLICACIÓN DEL MÉTODO
Ejemplo
Resolver, aplicando el Método Simplex Revisado para variables acotadas, el
problema:
m𝑎𝑥 2𝑥1 + 3𝑥2 − 𝑥3
𝑠. 𝑎: −𝑥1 + 2𝑥2 − 4𝑥3 = 10
2𝑥1 − 2𝑥2 + 𝑥3 = 8
2 ≤ 𝑥1 ≤ 22
1 ≤ 𝑥2 ≤ 18
1 ≤ 𝑥3 ≤ 20
Para encontrar una solución básica factible inicial, hemos de añadir dos
variables artificiales que eliminaremos aplicando el Método de las Dos Fases.
El problema de la Fase I es:

min 𝑥4 + 𝑥5
𝑠. 𝑎: −𝑥1 + 2𝑥2 − 4𝑥3 + 𝑥4 = 10
2𝑥1 − 2𝑥2 + 𝑥3 + 𝑥5 = 8
2 ≤ 𝑥1 ≤ 22
1 ≤ 𝑥2 ≤ 18
1 ≤ 𝑥3 ≤ 20
0 ≤ 𝑥4
0 ≤ 𝑥5
APLICACIÓN DEL MÉTODO
Inicialmente 𝐵 = 4,5 , 𝑁1 = 1,2,3 y 𝑁2 = ∅. La correspondiente tabla inversa
es:
V. Básicas 𝑇 −1 C. T. Ctes.
𝑥4 1 0 0 10 14
𝑥5 0 1 0 8 5
-w -1 -1 1 -18 -19
Para hallar la columna de constantes, haremos:
10 −1 2 −4 14
8 − 2 2 − −2 − 1 = 5
−18 −1 0 3 −19
Los costos relativos se calculan haciendo:
−1 2 −4 1 0
−1, −1, 1 2 −2 1 0 1 = −1, 0, 3, 0, 0
0 0 0 11
La variable 𝑥1 es candidata a ser básica. La tabla inversa con la columna
pivote es:
V. Básicas 𝑇 −1 C. T. Ctes. C. P.
𝑥4 1 0 0 10 14 -1
𝑥5 0 1 0 8 5 2
-w -1 -1 1 -18 -19 -1

Tenemos que 𝑠 = 1, 𝜆1 = 5/2, 𝜆2 = ∞, 𝜆3 = 20. En definitiva, 𝜆ҧ = 𝜆1 = 5/2.


APLICACIÓN DEL MÉTODO
La variable 𝑥1 se convierte en básica y 𝑥5 en no básica en su cota inferior.
Ahora 𝐵 = 1,4 , 𝑁1 = 2, 3, 5 y 𝑁2 = ∅
V. Básicas 𝑇 −1 C. T. Ctes. C. P.
𝑥4 1 1/2 0 14 33/2 1
𝑥1 0 1/2 0 4 9/2 -1
-w -1 -1/2 1 -14 -33/2 -1

La columna de constantes se halla haciendo:


14 2 −4 14 1 −7/2 33/2
4 − 𝑇 −1 −2 − 𝑇 −1 1 = 4 − −1 − 1/2 = 9/2
−14 0 0 −14 −1 7/2 −33/2
Los costos relativos se calculan haciendo:
−1 2 −4 1 0
−1, −1/2, 1 2 −2 1 0 1 = 0, −1, 7/2, 0, 1/2
0 0 0 11
En este caso, 𝑠 = 2, 𝜆1 = 33/2, 𝜆2 = 35/2, 𝜆3 = 17. En definitiva, 𝜆ҧ = 𝜆1 = 33/2.
Esto hace que 𝐵 = 1,2 , 𝑁1 = 3, 4, 5 y 𝑁2 = ∅.
La nueva tabla inversa es:
APLICACIÓN DEL MÉTODO
V. Básicas 𝑇 −1 C. T. Ctes.
𝑥2 1 1/2 0 14 35/2
𝑥1 1 1 0 18 21
-w 0 0 1 0 0
La columna de constantes se halla haciendo:
14 −4 14 −7/2 35/2
−1
18 − 𝑇 1 = 18 − −3 = 21
0 0 0 0 0
Las variables artificiales dejan de ser básicas y se inicia la Fase II para el
problema inicial, partiendo de la tabla inversa:
V. Básicas 𝑇 −1 C. T. Ctes. C. P.
𝑥2 1 1/2 0 14 35/2 -7/2
𝑥1 1 1 0 18 21 -3
-z -5 -7/2 1 -78 -187/2 31/2
ya que la columna de constantes se calcula como:
14 −4 14 −7/2 35/2
18 − 𝑇 −1 1 = 18 − −3 = 21
−78 −1 −78 31/2 −187/2
Los costos relativos se calculan haciendo:
−1 2 −4
−5, −7/2, 1 2 −2 1 = 0, 0, 31/2
2 3 −1
APLICACIÓN DEL MÉTODO
En este caso, 𝑠 = 3, 𝜆1 = ∞, 𝜆2 = 1/7, 𝜆3 = 19. En definitiva, 𝜆ҧ = 𝜆2 = 1/7. Esto
hace que 𝐵 = 1,3 , 𝑁1 = ∅ y 𝑁2 = 2 .
La nueva tabla inversa es:
V. Básicas 𝑇 −1 C. T. Ctes.
𝑥3 -2/7 -1/7 0 -4 8/7
𝑥1 1/7 4/7 0 6 150/7
-z -4/7 -9/7 1 -16 -670/7

ya que la columna de constantes se calcula como:


−4 2 −4 −36/7 8/7
6 − 𝑇 −1 −2 18 = 6 − −108/7 = 150/7
−16 3 −16 558/7 −670/7
Los costos relativos se calculan haciendo:
−1 2 −4
−4/7, −9/7, 1 2 −2 1 = 0,31/7,0
2 3 −1
La anterior tabla es óptima.
TEMA 10: PROBLEMAS DE PROGRAMACIÓN ENTERA
Problemas de la mochila.
Problemas de emparejamiento.
Problemas de recubrimiento.
Problemas de localización.
Problemas del viajante.

Se formalizan distintos modelos de Programación Lineal Entera. Se hace


énfasis en la ingente cantidad de casos en los que se pueden utilizar
modelos de este tipo.
FORMALIZACIÓN DE MODELOS
Problemas de emparejamiento (matching)
Dado un conjunto 1, 2, … , 2 la formación de una pareja entre un
elemento ∈ y un elemento distinto ∈ tiene un costo igual a . Un 2-
emparejamiento consiste en formar n parejas entre elementos de A. Un 2-
emparejamiento de costo global mínimo queda determinado por:

min

. : 1, 1, … , 2

0,1

siendo
1, ∈ ∈
0,
FORMALIZACIÓN DE MODELOS
Problemas recubrimiento (cover problems)
Dado un conjunto 1, … , y | 1, … , , una colección de
subconjuntos de tal que ⊆⋃ y cada tiene asociado un costo .
Un recubrimiento de costo mínimo de se determina resolviendo el
problema:

min

. : 1, ∀ ∈

0,1, 1, … ,
1, 1, ∈
siendo y
0, 0,
Se observa que la restricción:

1, ∀ ∈

garantiza que cada elemento de está en, al menos, un subconjunto.

Problemas de recubrimiento aparecen en el diseño óptimo de rutas aéreas (M


es el conjunto de aeropuertos y cada es una ruta aérea posible), en la
recogida de fondos de entidades bancarias, en rutas escolares, etc.
FORMALIZACIÓN DE MODELOS
Problemas de empaquetamiento (packing problems)
Dado un conjunto 1, … , y | 1, … , , una colección de
subconjuntos de tal que ⊆⋃ y cada tiene asociado un costo .
Un empaquetamiento de costo mínimo de se determina resolviendo el
problema:

min

. : 1, ∀ ∈

0,1, 1, … ,
1, 1, ∈
siendo y
0, 0,
Se observa que la restricción:

1, ∀ ∈

garantiza que cada elemento de está en, a lo sumo, un subconjunto


(paquete).
Problemas de empaquetamiento aparecen en el envío de bienes de distinto
tipo.
FORMALIZACIÓN DE MODELOS
Problemas de partición (partition problems)
Dado un conjunto 1, … , y | 1, … , , una colección de
subconjuntos de tal que ⊆⋃ y cada tiene asociado un costo .
Un partición de costo mínimo de se determina resolviendo el problema:

min

. : 1, ∀ ∈

0,1, 1, … ,
1, 1, ∈
siendo y
0, 0,

Se observa que la restricción:

1, ∀ ∈

garantiza que cada elemento de está en, exactamente, un subconjunto.


Obviamente, una partición es , a la vez, un recubrimiento y un
empaquetamiento.
FORMALIZACIÓN DE MODELOS
Problemas del viajante (traveling salesman, TSP)
Dado un grafo dirigido y conexo , , en el que cada arco , ∈ tiene
un costo asociado , se quiere determinar un circuito hamiltoniano (vuelta,
tour,…) de costo mínimo.
Un circuito de este tipo parte de un vértice de V y, llegando y saliendo
exactamente una vez de cada uno del resto de vértices, vuelve al vértice de
partida.
Si
1, ,
0,
el problema se plantea como:
min
∈ ∈

. : 1, ∀ ∈

1, ∀ ∈

1, ∀ ⊂ , 2 2
∈ ∈
0,1, ∀ , ∈
FORMALIZACIÓN DE MODELOS
El problema del viajante ocupa un lugar relevante en el estudio de los
Problemas de Programación Combinatoria. En la versión dirigida, la
restricción:

1, ∀ ⊂ , 2 2
∈ ∈

es una de las existentes en la literatura con el propósito de eliminar la


formación de subcircuitos hamiltonianos.
Se observa que si dicha restricción se quita, el problema resultante es el de
asignación.
La versión no dirigida se deja como ejercicio.
FORMALIZACIÓN DE MODELOS
El problema del viajante se puede interpretar como el de un vehículo que
sale de un vértice (depósito), recorre el resto de vértices del grafo y vuelve
al de partida. Es, por tanto, un caso particular de problema de ruta de
vehículos (vehicle routing problem, VRP).
Si se tienen m vehículos tales que, desde vértices distintos, siguen m rutas
que completan un ciclo(circuito) hamiltoniano, se tiene el m‐TSP.
Si estos m vehículos parten del mismo vértice y, entre todos, visitan una vez
el resto de vértices (regresando, cada uno, al de partida), se tiene un
problema VRP con un único depósito.
Si los m vehículos partiendo y regresando a vértices distintos, recorren una
vez todos los vértices, se tiene un VRP con depósitos múltiples.
Versiones de estos problemas contemplan capacidades para las conexiones
y/o tiempos (ventanas temporales) para poder acceder a los diferentes
vértices, periodos de servicio, optimización del tamaño de flota,
aleatorización, etc.
FORMALIZACIÓN DE MODELOS
Problemas de planificación (scheduling)
Tienen que ver con la planificación de trabajos o tareas, ejecutados por
diferentes agentes (en general, máquinas), que son necesarios para
completar el procesamiento de productos o ejecutar globalmente proyectos.
Existe una ingente variedad de problemas de planificación.
EJEMPLOS DE MODELOS DE PROGRAMACIÓN ENTERA

Formación de distritos electorales


Una población de 𝐻 habitantes debe distribuirse en 𝑘 distritos electorales. Un estudio previo,
establece 𝑝 ≥ 𝑘 posibles distritos atendiendo a diversos criterios de proximidad, niveles sociales…
Cada uno de estos distritos tiene una población de ℎ𝑗 habitantes, para 𝑗 ∈ 1, … , 𝑝 . Los principios
democráticos que implican un peso similar para cada uno de los miembros de la población,
imponen la selección de distritos con poblaciones similares; es decir, minimizando el máximo de
dichas poblaciones.
Por tanto, si:
1, 𝑠𝑖 𝑒𝑙 𝑑𝑖𝑠𝑡𝑟𝑖𝑡𝑜 𝑗 𝑒𝑠 𝑒𝑙𝑒𝑔𝑖𝑑𝑜
𝑦𝑗 = ቊ
0, 𝑒𝑛 𝑜𝑡𝑟𝑜 𝑐𝑎𝑠𝑜

El problema de selección de 𝑘 distritos se podría formular como:


min 𝑧
𝐻
𝑠. 𝑎: ℎ𝑗 − 𝑦𝑗 ≤ 𝑧, 𝑗 = 1, … , 𝑝
𝑘
𝑝

෍ 𝑦𝑗 = 𝑘
𝑗=1
𝑧 ≥ 0, 𝑦𝑗 = 0,1, 𝑗 = 1, … , 𝑝
EJEMPLOS DE MODELOS DE PROGRAMACIÓN ENTERA
Problemas de producción-inventario
Supongamos que son conocidas las demandas de un producto en n períodos: 𝐷𝑖 , 𝑖 = 1, … , 𝑛 . Para
atenderlas se puede usar producto almacenado o producido en el correspondiente período. Sea 𝐼𝑖 la
cantidad de producto almacenado al finalizar el período i y 𝑥𝑖 la cantidad producida en dicho período.
Los correspondientes costos de almacenamiento y producción serán 𝑐𝑎𝑖 y 𝑐𝑝𝑖 .
El problema de producción-inventario que permite atender las demandas minimizando costos
globales, se puede formular como:
𝑛 𝑛

min ෍ 𝑐𝑎𝑖 𝐼𝑖 + ෍ 𝑐𝑝𝑖 𝑥𝑖


𝑖=1 𝑖=1
𝑠. 𝑎: 𝑥𝑖 + 𝐼𝑖−1 − 𝐼𝑖 = 𝐷𝑖 , 𝑖 = 1, … , 𝑛
𝑥𝑖 ≥ 0, 𝑖 = 1, … , 𝑛, 𝐼𝑖 ≥ 0, 𝑖 = 0, … , 𝑛
Si no hay producto almacenado al inicio ni al final del último período, 𝐼0 = 𝐼𝑛 = 0

Es evidente que el modelo anterior es de Programación Lineal al que se le puede añadir que
las unidades almacenadas y producidas sean enteras.
EJEMPLOS DE MODELOS DE PROGRAMACIÓN ENTERA

Puede suceder que la puesta en funcionamiento del sistema de producción (setup) tenga distinto
costo en función de período. Sea 𝑐𝑠𝑢𝑖 , 𝑖 = 1, … , 𝑚 dicho costo. Habrá que decidir en qué períodos hay
que producir a través de la consideración de la variable binaria:

1, 𝑠𝑖 𝑠𝑒 𝑝𝑟𝑜𝑑𝑢𝑐𝑒 𝑒𝑛 𝑒𝑙 𝑝𝑒𝑟í𝑜𝑑𝑜 𝑖
𝑦𝑖 = ቊ , 𝑖 = 1, … , 𝑛
0, 𝑒𝑛 𝑜𝑡𝑟𝑜 𝑐𝑎𝑠𝑜
El modelo anterior debe, entonces, cambiar a:

𝑛 𝑛 𝑛

min ෍ 𝑐𝑎𝑖 𝐼𝑖 + ෍ 𝑐𝑝𝑖 𝑥𝑖 + ෍ 𝑐𝑠𝑢𝑖 𝑦𝑖


𝑖=1 𝑖=1 𝑖=1
𝑠. 𝑎: 𝑥𝑖 + 𝐼𝑖−1 − 𝐼𝑖 = 𝐷𝑖 , 𝑖 = 1, … , 𝑛
𝑛

𝑥𝑖 ≤ 𝑦𝑖 ෍ 𝐷𝑗 , 𝑖 = 1, … , 𝑛
𝑗=1
𝑥𝑖 ≥ 0, 𝑖 = 1, … , 𝑛, 𝑦𝑖 = 0,1, 𝑖 = 1, … , 𝑛 𝐼𝑖 ≥ 0, 𝑖 = 0, … , 𝑛,
Se observa que en la restricción 𝑥𝑖 ≤ 𝑦𝑖 σ𝑛𝑗=1 𝐷𝑗 , σ𝑛𝑗=1 𝐷𝑗 puede ser sustituido por cualquier cota
superior de este valor.
EJEMPLOS DE MODELOS DE PROGRAMACIÓN ENTERA

El Problema de Viajante Simétrico


Si la red es no dirigida, entonces los arcos cambian por aristas y se ha de hablar del STSP (TSP
simétrico) sobre (𝑉, 𝐸) . La formulación de este problema cambia para adaptarse a la nueva
estructura.
El modelo correspondiente es:
min ෍ 𝑐𝑖𝑗 𝑥𝑖𝑗
𝑖,𝑗 ∈𝐸

𝑠. 𝑎: ෍ 𝑥𝑗𝑖 + ෍ 𝑥𝑖𝑗 = 2, ∀𝑖 ∈ 𝑉
𝑗<𝑖 𝑗>𝑖

෍ 𝑥𝑖𝑗 ≤ 𝑈 − 1, ∀𝑈 ⊂ 𝑉, 3 ≤ 𝑈 ≤ 𝑉 − 3
𝑖∈𝑈,𝑗∈𝑈,𝑖<𝑗
𝑥𝑖𝑗 = 0,1, ∀ 𝑖, 𝑗 ∈ 𝐸
Nótese que, en el caso simétrico, la no consideración de las restricciones de eliminación de
subtours hace que el modelo anterior corresponda con un problema de 2-emparejamiento.
EJEMPLOS DE MODELOS DE PROGRAMACIÓN ENTERA
Problemas de planificación (scheduling)
Tienen que ver con la planificación de trabajos o tareas, ejecutados por diferentes
agentes (en general, máquinas), que son necesarios para completar el procesamiento de
productos o ejecutar, globalmente, proyectos.
Existe una ingente variedad de problemas de planificación. Como ilustración veamos el
siguiente ejemplo:
Se procesan 𝑛 productos sobre 𝑚 máquinas idénticas. Se supone, por simplicidad, que:
i) Cada producto requiere exactamente una operación sobre cada máquina y que
ii) las operaciones sobre cada producto deben ser efectuadas en un orden específico.
La producción se debe realizar minimizando los tiempos en que se completan todas las
operaciones.
Consideremos que 𝑥𝑖𝑘 es el tiempo en que se inicia el procesamiento del producto 𝑖 sobre
la máquina 𝑘. Se supone, además, que el proceso global comienza en el tiempo cero.
Las restricciones que tiene este problema son las siguientes:
EJEMPLOS DE MODELOS DE PROGRAMACIÓN ENTERA

a) Dos productos no pueden procesarse a la vez sobre una misma máquina; es decir, si:
𝑝𝑖𝑘 = tiempo de procesamiento del producto 𝑖 sobre la máquina 𝑘.
debe verificarse que:
𝑥𝑟𝑘 − 𝑥𝑠𝑘 ≥ 𝑝𝑠𝑘 ó 𝑥𝑠𝑘 − 𝑥𝑟𝑘 ≥ 𝑝𝑟𝑘 , ∀𝑟, 𝑠 ∈ 1, … , 𝑛 , ∀𝑘 ∈ 1, … , 𝑚
Estas condiciones se pueden expresar como:
𝑥𝑟𝑘 − 𝑥𝑠𝑘 ≥ 𝑝𝑠𝑘 − 𝑀𝑦𝑟𝑠𝑘
𝑥𝑠𝑘 − 𝑥𝑟𝑘 ≥ 𝑝𝑟𝑘 − 𝑀 1 − 𝑦𝑟𝑠𝑘
siendo:
1, 𝑠𝑖 𝑟 𝑝𝑟𝑒𝑐𝑒𝑑𝑒 𝑎 𝑠 𝑛𝑜 𝑛𝑒𝑐𝑒𝑠𝑎𝑟𝑖𝑎𝑚𝑒𝑛𝑡𝑒𝑑𝑒 𝑓𝑜𝑟𝑚𝑎 𝑐𝑜𝑛𝑡𝑖𝑔𝑢𝑎
𝑦𝑟𝑠𝑘 = ቐ 𝑠𝑜𝑏𝑟𝑒 𝑙𝑎 𝑚á𝑞𝑢𝑖𝑛𝑎 𝑘
0, 𝑒𝑛 𝑜𝑡𝑟𝑜 𝑐𝑎𝑠𝑜
y 𝑀 una constante positiva suficientemente grande.

𝑛 𝑛
Nótese que existen 2𝑚 restricciones de las anteriores y 𝑚 variables binarias 𝑦𝑟𝑠𝑘 .
2 2
EJEMPLOS DE MODELOS DE PROGRAMACIÓN ENTERA
b) Las 𝑚 operaciones correspondientes a cada producto deben realizarse en un determinado
orden.
Por lo tanto, si definimos:
1, 𝑠𝑖 𝑙𝑎 𝑗 − é𝑠𝑖𝑚𝑎 𝑜𝑝𝑒𝑟𝑎𝑐𝑖ó𝑛 𝑠𝑜𝑏𝑟𝑒 𝑒𝑙 𝑝𝑟𝑜𝑑𝑢𝑐𝑡𝑜 𝑖 𝑠𝑒 ℎ𝑎 𝑑𝑒 𝑟𝑒𝑎𝑙𝑖𝑧𝑎𝑟
𝑧𝑖𝑗𝑘 = ቐ 𝑠𝑜𝑏𝑟𝑒 𝑙𝑎 𝑚á𝑞𝑢𝑖𝑛𝑎 𝑘
0, 𝑒𝑛 𝑜𝑡𝑟𝑜 𝑐𝑎𝑠𝑜
se tiene que:
𝑛

෍ 𝑧𝑖𝑗𝑘 𝑥𝑖𝑘
𝑘=1
representa el tiempo en que comienza la tarea 𝑗 −ésima sobre el producto 𝑖, y, por ello, el
orden correcto se mantiene si:
𝑚 𝑚

෍ 𝑧𝑖𝑗𝑘 𝑥𝑖𝑘 + 𝑝𝑖𝑘 ≤ ෍ 𝑧𝑖𝑗+1𝑘 𝑥𝑖𝑘


𝑘=1 𝑘=1

Es decir, la operación 𝑗 −ésima sobre el producto 𝑖 ha de realizarse antes de la operación


𝑗 + 1 −ésima.

Nótese que existen 𝑛(𝑚 − 1) restricciones de este tipo y 𝑛𝑚2 variables binarias 𝑧𝑖𝑗𝑘 .
EJEMPLOS DE MODELOS DE PROGRAMACIÓN ENTERA

c) Para cada producto debe ejecutarse exactamente una única tarea sobre cada máquina y una
única máquina debe soportar una determinada tarea; es decir:
𝑚

෍ 𝑧𝑖𝑗𝑘 = 1, ∀𝑖 ∈ 1, … , 𝑛 , ∀𝑘 ∈ 1, … , 𝑚
𝑗=1
𝑚

෍ 𝑧𝑖𝑗𝑘 = 1, ∀𝑖 ∈ 1, … , 𝑛 , ∀𝑗 ∈ 1, … , 𝑚
𝑘=1
Notemos que existen 2𝑛𝑚 restricciones del tipo anterior
Antes de plantear el modelo definitivo, debemos decir que los objetivos de este problema pueden
ser variados. Una función objetivo que se suele usar es la que representa la suma de los tiempos
de partida de la última operación efectuada sobre cada trabajo. La expresión viene dada por:
𝑛 𝑚

෍ ෍ 𝑧𝑖𝑚𝑘 𝑥𝑖𝑘
𝑖=1 𝑘=1

Definitivamente, el problema de planificación que enunciábamos más arriba consistiría en:


EJEMPLOS DE MODELOS DE PROGRAMACIÓN ENTERA

𝑛 𝑚

𝑚𝑖𝑛 ෍ ෍ 𝑧𝑖𝑚𝑘 𝑥𝑖𝑘


𝑖=1 𝑘=1
𝑠. 𝑎: 𝑥𝑟𝑘 − 𝑥𝑠𝑘 ≥ 𝑝𝑠𝑘 − 𝑀𝑦𝑟𝑠𝑘 , ∀𝑟, 𝑠 ∈ 1, … , 𝑛 , 𝑟 ≠ 𝑠, ∀𝑘 ∈ 1, … , 𝑚

𝑥𝑠𝑘 − 𝑥𝑟𝑘 ≥ 𝑝𝑟𝑘 − 𝑀 1 − 𝑦𝑟𝑠𝑘 , ∀𝑟, 𝑠 ∈ 1, … , 𝑛 , 𝑟 ≠ 𝑠, ∀𝑘 ∈ 1, … , 𝑚


𝑚 𝑚

෍ 𝑧𝑖𝑗𝑘 𝑥𝑖𝑘 + 𝑝𝑖𝑘 ≤ ෍ 𝑧𝑖𝑗+1𝑘 𝑥𝑖𝑘 , ∀𝑖 ∈ 1, … , 𝑛 , ∀𝑗 ∈ 1, … , 𝑚 − 1


𝑘=1 𝑘=1
𝑚

෍ 𝑧𝑖𝑗𝑘 = 1, ∀𝑖 ∈ 1, … , 𝑛 , ∀𝑘 ∈ 1, … , 𝑚
𝑗=1
𝑚

෍ 𝑧𝑖𝑗𝑘 = 1, ∀𝑖 ∈ 1, … , 𝑛 , ∀𝑗 ∈ 1, … , 𝑚
𝑘=1
𝑥𝑖𝑘 ≥ 0, 𝑦𝑟𝑠𝑘 = 0,1, 𝑧𝑖𝑗𝑘 = 0,1, ∀𝑖 ∈ 1, … , 𝑛 , , ∀𝑗 ∈ 1, … , 𝑚 , ∀𝑘 ∈ 1, … , 𝑚
𝑛
Por tanto, dicho problema contiene 𝑚𝑛 variables no negativas continuas, 𝑚 + 𝑛𝑚2 variables
2
𝑛
enteras binarias y 𝑛 𝑚 − 1 + 2𝑚 + 2𝑚𝑛 restricciones.
2
TEMA 11: MÉTODOS GENERALES DE PROGRAMACIÓN ENTERA
Búsqueda de soluciones enteras.
Métodos de ramificación y acotación.
Métodos de hiperplanos de corte

Estudiaremos métodos generales de la Programación Entera.


Dentro del grupo de Métodos Enumerativos, estudiaremos un
esquema general de los Métodos de Ramificación y Acotación
(Branch and Bound). Como exponente de los Métodos No
Enumerativos, veremos casos de Métodos de Hiperplanos de
Corte (Cutting Planes).
Muchos problemas de Programación Entera y Programación
Combinatoria son difíciles de resolver. La “lentitud” de los
métodos generales y la necesidad de encontrar soluciones
satisfactorias abren la puerta a la consideración de heurísticas,
métodos aproximados,…, adaptados a las características del
problema que se está resolviendo, en los que la rapidez de
cálculo de una de esas soluciones puede compensar cierto
alejamiento de la optimalidad.
PROBLEMAS DE PROGRAMACIÓN LINEAL ENTERA
Los casos formalizados en el capítulo anterior, tienen el formato general:
min 𝑐 𝑡 𝑥
𝑠. 𝑎: 𝐴𝑥 = 𝑏
𝑥≥0
𝑥𝑗 𝑒𝑛𝑡𝑒𝑟𝑜, ∀𝑗 ∈ 𝐽
siendo 𝐽 ⊆ 1, … , 𝑛 .
Si 𝐽 = ∅, el problema anterior es de Programación Lineal. Si 𝐽 = 1, … , 𝑛 , el
problema es de Programación Lineal Entera Pura. En otro caso, es de
Programación Lineal Entera Mixta.
Hemos notado que abundan los casos en los que las variables enteras son de
tipo binario. Esto conduce a hablar, dentro de los diferentes casos, de
problemas de Programación Entera 0-1.
Como sólo estudiaremos el caso lineal, prescindiremos de este término al
referirnos a problemas de Programación Entera.
Observamos que en el planteamiento del problema anterior subyace la
estructura de un problema de Programación Lineal:
min 𝑐 𝑡 𝑥
𝑠. 𝑎: 𝐴𝑥 = 𝑏
𝑥≥0
que denominaremos problema continuo.
BÚSQUEDA DE SOLUCIONES ENTERAS
Las soluciones factibles para problemas de Programación Entera componen,
generalmente, una “malla” que “sugiere”, por ejemplo, procesos de
resolución enumerativos.
Ejemplo
Para el problema:
m𝑖𝑛 −5𝑥1 − 4𝑥2
𝑠. 𝑎: −4𝑥1 + 10𝑥2 ≤ 25
4𝑥1 + 2𝑥2 ≤ 17
2𝑥1 ≤7
𝑥1 ≥ 0, 𝑥2 ≥ 0
𝑥1 , 𝑥2 𝑒𝑛𝑡𝑒𝑟𝑜𝑠
i) Dibujar la región factible.
ii) Evaluar los puntos extremos de la región continua.
iii) Encontrar una solución óptima para el problema continuo.
iv) Determinar una solución óptima para el problema entero.
BÚSQUEDA DE SOLUCIONES ENTERAS
Las posibles soluciones enteras aparecen dentro de la región factible
continua definida por:
−4𝑥1 + 10𝑥2 ≤ 25
4𝑥1 + 2𝑥2 ≤ 17
2𝑥1 ≤7
𝑥1 ≥ 0, 𝑥2 ≥ 0
Para esta también se señalan los puntos extremos:
5 7
2, 2

0, 52

7 3
2, 2

0,0 7
2, 0

5 7
,
2 2
es solución óptima continua
3,2 es solución óptima entera
PROGRAMACIÓN LINEAL Y SOLUCIONES ENTERAS
Si un problema de Programación Lineal debe tener soluciones enteras,
interesan propiedades que lo garanticen.
Definición
Dada una matriz 𝐷, cuadrada, diremos que es unimodular sí, y sólo si, el
determinante de 𝐷 es igual a 1 o a -1. Si 𝐴 fuese una matriz de orden 𝑚 ×
𝑛 , diremos que es totalmente unimodular sí, y sólo si, cualquier
submatriz cuadrada no singular de 𝐴 es unimodular.

Nota:
Si 𝐴 = (𝑎𝑖𝑗 ),es totalmente unimodular, entonces, 𝑎𝑖𝑗 = 0,1, −1. Obviamente,
− 𝐴 es totalmente unimodular. También, es evidente que las matrices nulas
e identidad, de cualquier orden, son totalmente unimodulares

Proposición
Si 𝐴, matriz de orden 𝑚 × 𝑛 y de rango 𝑚 es totalmente unimodular y 𝑏 ∈
𝑅𝑚 es un vector de enteros, entonces las soluciones básicas del sistema:
𝐴𝑥 = 𝑏
tienen coordenadas enteras.
PROGRAMACIÓN LINEAL Y SOLUCIONES ENTERAS

El recíproco del anterior resultado no es cierto. Para demostrar esto basta


elegir el sistema:
2𝑥1 + 9𝑥2 = 𝑏1
𝑥1 + 5𝑥2 = 𝑏2
cuya solución:
𝑥1 = 5𝑏1 − 9𝑏2
𝑥2 = −𝑏1 + 2𝑏2
para cualesquiera 𝑏1 y 𝑏2 enteros, es entera. Sin embargo, la matriz 𝐴 de
este sistema no es totalmente unimodular.

Proposición
Son equivalentes:
(1) 𝐴 es totalmente unimodular.
(2) ∀𝑏 ∈ 𝑅𝑚 , entero, los puntos extremos de 𝑆 𝑏 = 𝑥 ∈ 𝑅𝑛 |𝐴𝑥 ≤ 𝑏, 𝑥 ≥ 0 son
enteros.
(3) Cualquier submatriz cuadrada no singular de 𝐴 tiene inversa entera.
PROGRAMACIÓN LINEAL Y SOLUCIONES ENTERAS
Nota:
𝐴
Si 𝐴 es totalmente unimodular, es totalmente unimodular ya que,
𝐼
usando la demostración de la proposición anterior, como 𝐴𝑡 , es totalmente
unimodular, también lo es 𝐴𝑡 , 𝐼 .
𝐴
De igual manera, −𝐼 es totalmente unimodular. Se podrá afirmar
𝐼
entonces que las soluciones básicas para el sistema:
𝐴𝑥 = 𝑏
𝑙≤𝑥≤𝑢
toman valores enteros siempre que 𝐴 sea totalmente unimodular y 𝑏, 𝑙 y 𝑢
sean vectores enteros.
La importancia del anterior teorema es grande si se pretende la resolución
de un problema de Programación Lineal Entera a través del Método
Simplex. Sin embargo, previa a dicha aplicación, debe determinarse la
unimodularidad total de la matriz 𝐴 . Como sabemos, una condición
necesaria para que 𝐴 sea totalmente unimodular es que esté formada por
0, 1 ó -1. Sin embargo, no es fácil determinar cuando una matriz de 0, 1 o
-1 es totalmente unimodular. Un resultado que contribuye a solucionar esta
dificultad es el siguiente:
PROGRAMACIÓN LINEAL Y SOLUCIONES ENTERAS
Proposición
Sea 𝐴 = (𝑎𝑖𝑗 ) una matriz entera tal que 𝑎𝑖𝑗 = 0,1, −1 . Es totalmente
unimodular si
a) No tiene más de dos elementos distintos de cero en cada columna.
b) Los índices de filas pueden particionarse en dos conjuntos 𝐼1 e 𝐼2 tales
que:
b1) Si una columna contiene dos elementos no nulos de igual signo, los
índices de las filas correspondientes están en cada uno de los conjuntos de
índices.
b2) Si una columna contiene dos elementos no nulos de distinto signo, las
correspondientes filas están en el mismo conjunto de índices.
Matrices totalmente unimodulares en problemas combinatorios
Grafos bipartitos
Sea 𝐺 = (𝑉, 𝐸) un grafo no dirigido, con 𝑉 = 1, … , 𝑛 y 𝐸 = ሼ𝑒|𝑒 = 𝑖, 𝑗 , 𝑖, 𝑗 ∈ 𝑉′ ⊆
𝑉 ሽ. Definimos la matriz 𝑀 = (𝑚𝑖𝑒 ), de orden 𝑛 × 𝑐𝑎𝑟𝑑 𝐸 , tal que:
1, 𝑠𝑖 𝑖 𝑒𝑠 𝑢𝑛 𝑛𝑜𝑑𝑜 𝑡𝑒𝑟𝑚𝑖𝑛𝑎𝑙 𝑑𝑒 𝑒
𝑚𝑖𝑒 = ቊ
0, 𝑒𝑛 𝑜𝑡𝑟𝑜 𝑐𝑎𝑠𝑜
𝑀 es denominada matriz de incidencia nodo arista de 𝐺.
Se demuestra que M es totalmente unimodular si, y sólo si, G es un grafo
bipartito.
PROGRAMACIÓN LINEAL Y SOLUCIONES ENTERAS

Grafos dirigidos

Sea 𝐺 = (𝑉, 𝐴) un grafo dirigido, con 𝑉 = 1, … , 𝑛 y 𝐴 = 𝑎|𝑎 = 𝑖, 𝑗 , 𝑖, 𝑗 ∈ 𝑉′ ⊆ 𝑉 .


Definimos la matriz 𝑀 = (𝑚𝑖𝑎 ), de orden 𝑛 × 𝑐𝑎𝑟𝑑 𝐴 , tal que:

1, 𝑠𝑖 𝑖 𝑒𝑠 𝑒𝑙 𝑛𝑜𝑑𝑜 𝑖𝑛𝑖𝑐𝑖𝑎𝑙 𝑑𝑒 𝑎
𝑚𝑖𝑎 = ቐ−1, 𝑠𝑖 𝑖 𝑒𝑠 𝑒𝑙 𝑛𝑜𝑑𝑜 𝑓𝑖𝑛𝑎𝑙 𝑑𝑒 𝑎
0, 𝑒𝑛 𝑜𝑡𝑟𝑜 𝑐𝑎𝑠𝑜
La matriz 𝑀 es totalmente unimodular.

Matrices de redes de flujo


Dada la red dirigida conexa 𝑉, 𝐴 , supongamos que 𝑏𝑖 , 𝑖 ∈ 𝑉 , es la
disponibilidad del vértice 𝑖. ∀ 𝑖, 𝑗 ∈ 𝐴, sean 𝑐𝑖𝑗 , 𝑙𝑖𝑗 y 𝑢𝑖𝑗 , respectivamente, el
coste por unidad de flujo y las capacidades mínima y máxima del arco 𝑖, 𝑗 .
Si 𝑥𝑖𝑗 es la cantidad de flujo que ha de circular por 𝑖, 𝑗 y, para cada vértice,
el flujo que sale es igual al que llega más la propia disponibilidad
(conservación del flujo), el problema de determinar la cantidad de flujo que
debe circular por cada arco de la red de manera que se minimicen los
costos globales (problema de flujo de coste mínimo) se formaliza como:
PROGRAMACIÓN LINEAL Y SOLUCIONES ENTERAS

min ෍ ෍ 𝑐𝑖𝑗 𝑥𝑖𝑗


𝑖∈𝑉 𝑗∈𝑆𝑢𝑐 𝑖

𝑠. 𝑎: ෍ 𝑥𝑖𝑗 − ෍ 𝑥𝑗𝑖 = 𝑏𝑖 , ∀𝑖 ∈ 𝑉 𝑃𝐹𝐶𝑀


𝑗∈𝑆𝑢𝑐 𝑖 𝑗∈𝑃𝑟𝑒𝑑 𝑖
𝑙𝑖𝑗 ≤ 𝑥𝑖𝑗 ≤ 𝑢𝑖𝑗 , ∀ 𝑖, 𝑗 ∈ 𝐴
Este problema se puede reducir a la forma:
min 𝑐 𝑡 𝑥
𝑠. 𝑎: 𝑀𝑥 = 𝑏
−𝑥 ≤ −𝑙
𝑥≤𝑢
siendo M la matriz de incidencia vértice-arco de la red. Por tanto, la matriz
de coeficientes tecnológicos del anterior problema:
𝑀
−𝐼
𝐼
es totalmente unimodular.
Esta propiedad también vale para casos particulares relevantes de este
problema general: los problemas de transporte, transbordo, asignación, de
flujo máximo, de árbol generador de caminos mínimos y de caminos
mínimos entre pares de vértices.
MÉTODOS GENERALES DE PROGRAMACIÓN ENTERA
Para resolver problemas de Programación Entera existen distintos métodos.
Una clasificación de estos permite hablar de Métodos Enumerativos y
Métodos No Enumerativos. Entre los primeros resaltamos los Métodos de
Ramificación y Acotación en los que, combinando distintas ideas y técnicas
provenientes de la Programación Lineal, se enumeran eficientemente las
soluciones enteras y se determina, en su caso, una solución óptima. En el
segundo grupo destacamos los Métodos de Hiperplanos de Corte en los que
se produce un “refinamiento” de una propuesta inicial de región factible para
forzar la optimalidad del problema continuo resultante en una solución
entera.
Métodos de Ramificación y Acotación
Conjugan los conceptos de:
• Relajación (por eliminación de restricciones de integridad)
• Ramificación (por separación de problemas en subproblemas que
contienen las soluciones enteras del anterior)
• Enumeración implícita de soluciones enteras de subproblemas usando
adecuadamente cotas previamente establecidas.
La herramienta básica para hacer el trabajo es la Programación Lineal.
MÉTODOS DE RAMIFICACIÓN Y ACOTACIÓN
Relajación
Dado un problema de optimización:
min 𝑓 𝑥
𝑠. 𝑎: 𝑥 ∈ 𝑆
decimos que el problema:
min 𝑔 𝑥
𝑠. 𝑎: 𝑥 ∈ 𝑇
es una relajación del anterior, sí, y sólo si, 𝑆 ⊆ 𝑇 y 𝑓 𝑥 ≥ 𝑔 𝑥 , ∀𝑥 ∈ 𝑆

Es obvio que una relajación del problema de Programación Entera:

min 𝑐 𝑡 𝑥
𝑠. 𝑎: 𝐴𝑥 = 𝑏
𝑥≥0
𝑥𝑗 𝑒𝑛𝑡𝑒𝑟𝑜, ∀𝑗 ∈ 𝐽

se obtiene con la eliminación de la restricción entera:


min 𝑐 𝑡 𝑥
𝑠. 𝑎: 𝐴𝑥 = 𝑏
𝑥≥0
(problema continuo)
MÉTODOS DE RAMIFICACIÓN Y ACOTACIÓN
Ramificación
Dado el problema de Programación Entera:
min 𝑐 𝑡 𝑥
𝑠. 𝑎: 𝐴𝑥 = 𝑏 𝑃𝐸
𝑥≥0
𝑥𝑗 𝑒𝑛𝑡𝑒𝑟𝑜, ∀𝑗 ∈ 𝐽
supongamos que 𝑥ҧ es solución óptima del problema relajado:
min 𝑐 𝑡 𝑥
𝑠. 𝑎: 𝐴𝑥 = 𝑏
𝑥≥0
Si 𝑥𝑗ҧ = 𝑏ത𝑗 es entero, ∀𝑗 ∈ 𝐽, 𝑥ҧ es solución óptima del problema entero. En otro
caso, tomando 𝑟 ∈ 𝐽 tal que 𝑥ҧ𝑟 = 𝑏ത𝑟 no es entero, se generan los
subproblemas con regiones factibles disjuntas que contienen todas las
soluciones enteras de 𝑃𝐸 :
min 𝑐 𝑡 𝑥 min 𝑐 𝑡 𝑥
𝑠. 𝑎: 𝐴𝑥 = 𝑏 𝑠. 𝑎: 𝐴𝑥 = 𝑏
𝑥𝑟 ≤ 𝑏ത𝑟 𝑃𝐸1 𝑥𝑟 ≥ 𝑏ത𝑟 𝑃𝐸2
𝑥≥0 𝑥≥0
𝑥𝑗 𝑒𝑛𝑡𝑒𝑟𝑜, ∀𝑗 ∈ 𝐽 𝑥𝑗 𝑒𝑛𝑡𝑒𝑟𝑜, ∀𝑗 ∈ 𝐽
. es el mayor entero menor o igual que .
. es el menor entero mayor o igual que .
𝑃𝐸 se separa o ramifica en dos subproblemas.
UN ALGORITMO DE RAMIFICACIÓN Y ACOTACIÓN
Utiliza las herramientas anteriores para enumerar todas las soluciones
enteras y, en su caso, determinar la correspondiente solución óptima.
Sea 𝑃𝐸1 el problema inicial y 𝑃𝑅1 la correspondiente relajación.
Inicio
Hacer 𝐿 = 𝑃𝐸1 , 𝑧∗ = −∞, 𝑧 ∗ = ∞
Mientras
𝐿 ≠ ∅, elegir un problema 𝑃𝐸𝑘 de 𝐿, relajarlo y resolverlo.
- Si el problema elegido es no factible o no acotado, eliminarlo de 𝐿 y
repetir. En otro caso, sea 𝑥ҧ𝑘 su solución básica óptima y 𝑧𝑘 su valor
óptimo.
- Si la solución 𝑥ҧ𝑘 es entera y el correspondiente valor 𝑧𝑘 es menor
que 𝑧 ∗ , hacer 𝑧 ∗ = 𝑧𝑘 , SOL = 𝑥ҧ𝑘 . Si la solución 𝑥ҧ𝑘 es entera y el
correspondiente valor 𝑧𝑘 es mayor o igual que 𝑧 ∗ , eliminar 𝑃𝐸𝑘 de 𝐿 y
repetir.
- Si la solución 𝑥ҧ𝑘 no es entera y 𝑧𝑘 ≥ 𝑧 ∗ , eliminar 𝑃𝐸𝑘 de 𝐿. Si la
solución 𝑥ҧ𝑘 no es entera y 𝑧𝑘 <𝑧 ∗ , ramificar 𝑃𝐸𝑘 en dos subproblemas
𝑃𝐸𝑘1 y 𝑃𝐸𝑘2 . Eliminar 𝑃𝐸𝑘 de 𝐿 y añadir 𝑃𝐸𝑘𝑗 , 𝑗 = 1,2.
Recalcular 𝑧∗ convenientemente y repetir.
APLICACIÓN DEL ALGORITMO

Si este procedimiento acaba con 𝐿 = ∅, 𝑧∗ = −∞, 𝑧 ∗ = ∞, el problema planteado


es no factible o no acotado. Si acaba con 𝐿 = ∅, 𝑧∗ > −∞, 𝑧 ∗ = ∞, el problema
inicial es no factible. Si la conclusión es con 𝐿 = ∅, 𝑧∗ > −∞ , 𝑧 ∗ < ∞ , el
problema inicial tiene solución óptima almacenada en SOL.
Se observa que los problemas elegidos pueden tener soluciones enteras que
mejoren la solución almacenada en SOL. Los problemas eliminados de la lista
o los que hayan aportado una solución entera tienen enumeradas
(implícitamente) todas sus soluciones enteras.
La lista se confecciona con problemas en los que puede mejorar la solución
entera actual. Los no considerados tienen todas sus soluciones enteras
implícitamente enumeradas.
La elección del problema de 𝐿 y la selección de la variable sobre la que
ramificar son asuntos que requieren reglas adicionales.

Apliquemos el método al ejemplo anterior 𝑃𝐸1 :

m𝑖𝑛 −5𝑥1 − 4𝑥2


𝑠. 𝑎: −4𝑥1 + 10𝑥2 ≤ 25
4𝑥1 + 2𝑥2 ≤ 17
2𝑥1 ≤7
𝑥1 ≥ 0, 𝑥2 ≥ 0
𝑥1 , 𝑥2 𝑒𝑛𝑡𝑒𝑟𝑜𝑠
APLICACIÓN DEL ALGORITMO
Inicialmente, 𝐿 = 𝑃𝐸1 , 𝑧∗ = −∞, 𝑧 ∗ = ∞.
Elegimos 𝑃𝐸1 y resolvemos su relajación:
m𝑖𝑛 −5𝑥1 − 4𝑥2
𝑠. 𝑎: −4𝑥1 + 10𝑥2 ≤ 25
4𝑥1 + 2𝑥2 ≤ 17
2𝑥1 ≤7
𝑥1 ≥ 0, 𝑥2 ≥ 0
La tabla correspondiente es:

V. B. 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 −𝑧 Cts.
𝑥3 -4 10 1 0 0 0 25
𝑥4 4 2 0 1 0 0 17
𝑥5 2 0 0 0 1 0 7
−𝑧 -5 -4 0 0 0 1 0

La variable 𝑥1 entra en la base y sale la variable 𝑥5 . Se obtiene la tabla:


APLICACIÓN DEL ALGORITMO

V. B. 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 −𝑧 Cts.
𝑥3 0 10 1 0 2 0 39
𝑥4 0 2 0 1 -2 0 3
𝑥1 1 0 0 0 1/2 0 7/2
−𝑧 0 -4 0 0 5/2 1 35/2
La variable 𝑥2 entra en la base y sale la variable 𝑥4 . Se obtiene la tabla:

V. B. 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 −𝑧 Cts.
𝑥3 0 0 1 -5 12 0 24
𝑥2 0 1 0 1/2 -1 0 3/2
𝑥1 1 0 0 0 1/2 0 7/2
−𝑧 0 0 0 2 -3/2 1 47/2

La variable 𝑥5 entra en la base y sale la variable 𝑥3 . Se obtiene la tabla:


APLICACIÓN DEL ALGORITMO

V. B. 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 −𝑧 Cts.
𝑥5 0 0 1/12 -5/12 1 0 2
𝑥2 0 1 1/12 1/12 0 0 7/2
𝑥1 1 0 -1/24 5/24 0 0 5/2
−𝑧 0 0 1/8 11/8 0 1 53/2

Esta tabla es óptima. Sin embargo, la solución óptima no verifica las


53
restricciones enteras. En este momento, 𝑧 ∗ = ∞, 𝑧∗ = − 2 (no hay ninguna
53
solución entera con valor objetivo menor que − ).
2
A partir de la tabla anterior, ramificamos 𝑃𝐸1 en 𝑃𝐸11 y 𝑃𝐸12 , añadiendo,
7 7
respectivamente, las restricciones 𝑥2 ≤ 2 = 3 y 𝑥2 ≥ 2 = 4 (ramificamos
sobre la variable con mayor valor fraccionario). Ahora, 𝐿 = 𝑃𝐸11 , 𝑃𝐸12 .

m𝑖𝑛 −5𝑥1 − 4𝑥2


m𝑖𝑛 −5𝑥1 − 4𝑥2
𝑠. 𝑎: −4𝑥1 + 10𝑥2 ≤ 25
𝑠. 𝑎: −4𝑥1 + 10𝑥2 ≤ 25
4𝑥1 + 2𝑥2 ≤ 17
4𝑥1 + 2𝑥2 ≤ 17
2𝑥1 ≤7 𝑃𝐸11 𝑃𝐸12
2𝑥1 ≤7
𝑥2 ≤ 3
𝑥2 ≥ 4
𝑥1 ≥ 0, 𝑥2 ≥ 0
𝑥1 ≥ 0, 𝑥2 ≥ 0
𝑥1 , 𝑥2 𝑒𝑛𝑡𝑒𝑟𝑜𝑠
𝑥1 , 𝑥2 𝑒𝑛𝑡𝑒𝑟𝑜𝑠
APLICACIÓN DEL ALGORITMO
Elegimos 𝑃𝐸11 de 𝐿 (siguiendo la regla FIFO- First In First Out), lo relajamos
y lo resolvemos. Tenemos la tabla:
V. B. 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 𝑥6 −𝑧 Cts.
𝑥5 0 0 1/12 -5/12 1 0 0 2
𝑥2 0 1 1/12 1/12 0 0 0 7/2
𝑥1 1 0 -1/24 5/24 0 0 0 5/2
𝑥6 0 1 0 0 0 1 0 3
−𝑧 0 0 1/8 11/8 0 0 1 53/2

Devolviendo a 𝑥2 su carácter de variable básica, obtenemos:

V. B. 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 𝑥6 −𝑧 Cts.
𝑥5 0 0 1/12 -5/12 1 0 0 2
𝑥2 0 1 1/12 1/12 0 0 0 7/2
𝑥1 1 0 -1/24 5/24 0 0 0 5/2
𝑥6 0 0 -1/12 -1/12 0 1 0 -1/2
−𝑧 0 0 1/8 11/8 0 0 1 53/2

Aplicando el Método Simplex Dual, 𝑥6 sale de la base y entra 𝑥3 . Se tiene:


APLICACIÓN DEL ALGORITMO

V. B. 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 𝑥6 −𝑧 Cts.
𝑥5 0 0 0 -1/2 1 1 0 3/2
𝑥2 0 1 0 0 0 1 0 3
𝑥1 1 0 0 1/4 0 -1/2 0 11/4
𝑥3 0 0 1 1 0 -12 0 6
−𝑧 0 0 0 5/4 0 3/2 1 103/4
Como este problema tiene una solución óptima que no verifica las
restricciones enteras, debe ser eliminado de 𝐿 y ramificado en los problemas
11
𝑃𝐸111 y 𝑃𝐸112 añadiendo, respectivamente, las restricciones 𝑥1 ≤ 4 = 2 y 𝑥1 ≥
11
= 3. Ahora, 𝐿 = 𝑃𝐸12 , 𝑃𝐸111 , 𝑃𝐸112 .
4

m𝑖𝑛 −5𝑥1 − 4𝑥2 m𝑖𝑛 −5𝑥1 − 4𝑥2


𝑠. 𝑎: −4𝑥1 + 10𝑥2 ≤ 25 𝑠. 𝑎: −4𝑥1 + 10𝑥2 ≤ 25
4𝑥1 + 2𝑥2 ≤ 17 4𝑥1 + 2𝑥2 ≤ 17
2𝑥1 ≤7 𝑃𝐸111 2𝑥1 ≤7 𝑃𝐸112
𝑥2 ≤ 3 𝑥2 ≤ 3
𝑥1 ≤2 𝑥1 ≥3
𝑥1 ≥ 0, 𝑥2 ≥ 0 𝑥1 ≥ 0, 𝑥2 ≥ 0
𝑥1 , 𝑥2 𝑒𝑛𝑡𝑒𝑟𝑜𝑠 𝑥1 , 𝑥2 𝑒𝑛𝑡𝑒𝑟𝑜𝑠
APLICACIÓN DEL ALGORITMO
Siguiendo la regla FIFO, elegimos 𝑃𝐸12 , lo relajamos y lo resolvemos.
Obtenemos la tabla:

V. B. 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 𝑥6 −𝑧 Cts.
𝑥5 0 0 1/12 -5/12 1 0 0 2
𝑥2 0 1 1/12 1/12 0 0 0 7/2
𝑥1 1 0 -1/24 5/24 0 0 0 5/2
𝑥6 0 1 0 0 0 -1 0 4
−𝑧 0 0 1/8 11/8 0 0 1 53/2
Haciendo que 𝑥2 y 𝑥6 recuperen el carácter de variables básicas:
V. B. 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 𝑥6 −𝑧 Cts.
𝑥5 0 0 1/12 -5/12 1 0 0 2
𝑥2 0 1 1/12 -1/12 0 0 0 7/2
𝑥1 1 0 -1/24 5/24 0 0 0 5/2
𝑥6 0 0 1/12 1/12 0 1 0 -1/2
−𝑧 0 0 1/8 11/8 0 0 1 53/2

Aplicando el Método Simplex Dual, este problema es no factible.


APLICACIÓN DEL ALGORITMO
103
Eliminamos 𝑃𝐸12 de 𝐿. Ahora tendremos 𝐿 = 𝑃𝐸111 , 𝑃𝐸112 y 𝑧 ∗ = ∞, 𝑧∗ = − 4
(la mejor cota inferior del valor entero la aporta 𝑃𝐸11).
Siguiendo de nuevo la regla FIFO, elegimos 𝑃𝐸111 , lo relajamos y lo
resolvemos. Obtenemos la tabla:

V. B. 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 𝑥6 𝑥7 −𝑧 Cts.
𝑥5 0 0 0 -1/2 1 1 0 0 3/2
𝑥2 0 1 0 0 0 1 0 0 3
𝑥1 1 0 0 1/4 0 -1/2 0 0 11/4
𝑥3 0 0 1 1 0 -12 0 0 6
𝑥7 1 0 0 0 0 0 1 0 2
−𝑧 0 0 0 5/4 0 3/2 0 1 103/4

Haciendo que 𝑥1 y 𝑥7 recuperen el carácter de variables básicas:


APLICACIÓN DEL ALGORITMO

V. B. 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 𝑥6 𝑥7 −𝑧 Cts.
𝑥5 0 0 0 -1/2 1 1 0 0 3/2
𝑥2 0 1 0 0 0 1 0 0 3
𝑥1 1 0 0 1/4 0 -1/2 0 0 11/4
𝑥3 0 0 1 1 0 -12 0 0 6
𝑥7 0 0 0 -1/4 0 1/2 1 0 -3/4
−𝑧 0 0 0 5/4 0 3/2 0 1 103/4
Aplicando el Método Simplex Dual, 𝑥4 sustituye en la base a 𝑥7 :

V. B. 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 𝑥6 𝑥7 −𝑧 Cts.
𝑥5 0 0 0 0 1 0 -2 0 3
𝑥2 0 1 0 0 0 1 0 0 3
𝑥1 1 0 0 0 0 0 1 0 2
𝑥3 0 0 1 0 0 -10 4 0 3
𝑥7 0 0 0 1 0 -2 -4 0 3
−𝑧 0 0 0 0 0 4 5 1 22
APLICACIÓN DEL ALGORITMO
103
𝑃𝐸111 tiene solución óptima entera. Ahora, 𝐿 = 𝑃𝐸112 , 𝑧 ∗ = −22, 𝑧∗ = − 4 y en
𝑆𝑂𝐿 se almacena la solución entera anterior. Elegimos ahora 𝑃𝐸112 , lo
relajamos y lo resolvemos. Obtenemos la tabla:
V. B. 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 𝑥6 𝑥7 −𝑧 Cts.
𝑥5 0 0 0 -1/2 1 1 0 0 3/2
𝑥2 0 1 0 0 0 1 0 0 3
𝑥1 1 0 0 1/4 0 -1/2 0 0 11/4
𝑥3 0 0 1 1 0 -12 0 0 6
𝑥7 1 0 0 0 0 0 -1 0 3
−𝑧 0 0 0 5/4 0 3/2 0 1 103/4

Haciendo que 𝑥1 y 𝑥7 recuperen el carácter de variables básicas, obtenemos:


APLICACIÓN DEL ALGORITMO

V. B. 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 𝑥6 𝑥7 −𝑧 Cts.
𝑥5 0 0 0 -1/2 1 1 0 0 3/2
𝑥2 0 1 0 0 0 1 0 0 3
𝑥1 1 0 0 1/4 0 -1/2 0 0 11/4
𝑥3 0 0 1 1 0 -12 0 0 6
𝑥7 0 0 0 1/4 0 -1/2 1 0 -1/4
−𝑧 0 0 0 5/4 0 3/2 0 1 103/4
Aplicando el Método Simplex Dual, 𝑥6 sustituye en la base a 𝑥7 :
V. B. 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 𝑥6 𝑥7 −𝑧 Cts.
𝑥5 0 0 0 0 1 0 2 0 1
𝑥2 0 1 0 1/2 0 0 2 0 5/2
𝑥1 1 0 0 0 0 0 -1 0 3
𝑥3 0 0 1 -5 0 0 -24 0 12
𝑥6 0 0 0 -1/2 0 1 -2 0 1/2
−𝑧 0 0 0 2 0 0 3 1 25
APLICACIÓN DEL ALGORITMO

Este problema, que tiene una solución óptima que no verifica las
restricciones enteras, debe ser eliminado de 𝐿 y ramificado en los problemas
5
𝑃𝐸1121 y 𝑃𝐸1122 añadiendo, respectivamente, las restricciones 𝑥2 ≤ 2 = 2 y
5
𝑥2 ≥ = 3. Ahora, 𝑧 ∗ = −22, 𝑧∗ = −25, 𝐿 = 𝑃𝐸1121 , 𝑃𝐸1122 .
2
m𝑖𝑛 −5𝑥1 − 4𝑥2
m𝑖𝑛 −5𝑥1 − 4𝑥2
𝑠. 𝑎: −4𝑥1 + 10𝑥2 ≤ 25
𝑠. 𝑎: −4𝑥1 + 10𝑥2 ≤ 25
4𝑥1 + 2𝑥2 ≤ 17
4𝑥1 + 2𝑥2 ≤ 17 𝑃𝐸1122
2𝑥1 ≤7 𝑃𝐸1121
2𝑥1 ≤7
𝑥2 ≤ 3
𝑥2 ≤ 3
𝑥1 ≥3
𝑥1 ≥3
𝑥2 ≤ 2
𝑥2 ≥ 3
𝑥1 ≥ 0, 𝑥2 ≥ 0
𝑥1 ≥ 0, 𝑥2 ≥ 0
𝑥1 , 𝑥2 𝑒𝑛𝑡𝑒𝑟𝑜𝑠
𝑥1 , 𝑥2 𝑒𝑛𝑡𝑒𝑟𝑜𝑠
Elegimos 𝑃𝐸1121 , lo relajamos y lo resolvemos. Obtenemos la tabla:
APLICACIÓN DEL ALGORITMO
V. B. 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 𝑥6 𝑥7 𝑥8 −𝑧 Cts.
𝑥5 0 0 0 0 1 0 2 0 0 1
𝑥2 0 1 0 1/2 0 0 2 0 0 5/2
𝑥1 1 0 0 0 0 0 -1 0 0 3
𝑥3 0 0 1 -5 0 0 -24 0 0 12
𝑥6 0 0 0 -1/2 0 1 -2 0 0 1/2
𝑥8 0 1 0 0 0 0 0 1 0 2
−𝑧 0 0 0 2 0 0 3 0 1 25
Haciendo que 𝑥1 y 𝑥7 recuperen el carácter de variables básicas, obtenemos:
V. B. 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 𝑥6 𝑥7 𝑥8 −𝑧 Cts.
𝑥5 0 0 0 0 1 0 2 0 0 1
𝑥2 0 1 0 1/2 0 0 2 0 0 5/2
𝑥1 1 0 0 0 0 0 -1 0 0 3
𝑥3 0 0 1 -5 0 0 -24 0 0 12
𝑥6 0 0 0 -1/2 0 1 -2 0 0 1/2
𝑥8 0 0 0 -1/2 0 0 -2 1 0 -1/2
−𝑧 0 0 0 2 0 0 3 0 1 25
APLICACIÓN DEL ALGORITMO
Aplicando el Método Simplex Dual, 𝑥7 sustituye en la base a 𝑥8 :
V. B. 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 𝑥6 𝑥7 𝑥8 −𝑧 Cts.
𝑥5 0 0 0 -1/2 1 0 0 1 0 1/2
𝑥2 0 1 0 0 0 0 0 1 0 2
𝑥1 1 0 0 1/4 0 0 0 -1/2 0 13/4
𝑥3 0 0 1 1 0 0 0 -12 0 18
𝑥6 0 0 0 0 0 1 0 -1 0 1
𝑥8 0 0 0 1/4 0 0 1 -1/2 0 1/4
−𝑧 0 0 0 5/4 0 0 0 3/2 1 97/4

Este problema, que tiene una solución óptima que no verifica las
restricciones enteras, debe ser eliminado de 𝐿 y ramificado en los problemas
13
𝑃𝐸11211 y 𝑃𝐸11212 añadiendo, respectivamente, las restricciones 𝑥1 ≤ 4 = 3 y
13
𝑥1 ≥ 4
= 4. Ahora, 𝐿 = 𝑃𝐸1122 , 𝑃𝐸11211 , 𝑃𝐸11212 .
APLICACIÓN DEL ALGORITMO

m𝑖𝑛 −5𝑥1 − 4𝑥2


m𝑖𝑛 −5𝑥1 − 4𝑥2
𝑠. 𝑎: −4𝑥1 + 10𝑥2 ≤ 25
𝑠. 𝑎: −4𝑥1 + 10𝑥2 ≤ 25
4𝑥1 + 2𝑥2 ≤ 17
4𝑥1 + 2𝑥2 ≤ 17
2𝑥1 ≤7 𝑃𝐸11211 2𝑥1 ≤7 𝑃𝐸11212
𝑥2 ≤ 3
𝑥2 ≤ 3
𝑥1 ≥3
𝑥1 ≥3
𝑥2 ≤ 2
𝑥2 ≤ 2
𝑥1 ≤3
𝑥1 ≥4
𝑥1 ≥ 0, 𝑥2 ≥ 0
𝑥1 ≥ 0, 𝑥2 ≥ 0
𝑥1 , 𝑥2 𝑒𝑛𝑡𝑒𝑟𝑜𝑠
𝑥1 , 𝑥2 𝑒𝑛𝑡𝑒𝑟𝑜𝑠
Elegimos ahora 𝑃𝐸1122 , lo relajamos y lo resolvemos. Obviamente, 𝑃𝐸1122 es
no factible. Entonces, 𝐿 = 𝑃𝐸11211 , 𝑃𝐸11212 , 𝑧 ∗ = −22, 𝑧∗ = −97/4 . Por tanto,
elegimos 𝑃𝐸11211 , lo relajamos y lo resolvemos sobre la tabla:
APLICACIÓN DEL ALGORITMO
V. B. 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 𝑥6 𝑥7 𝑥8 𝑥9 −𝑧 Cts.
𝑥5 0 0 0 -1/2 1 0 0 1 0 0 1/2
𝑥2 0 1 0 0 0 0 0 1 0 0 2
𝑥1 1 0 0 1/4 0 0 0 -1/2 0 0 13/4
𝑥3 0 0 1 1 0 0 0 -12 0 0 18
𝑥6 0 0 0 0 0 1 0 -1 0 0 1
𝑥8 0 0 0 1/4 0 0 1 -1/2 0 0 1/4
𝑥9 1 0 0 0 0 0 0 0 1 0 3
−𝑧 0 0 0 5/4 0 0 0 3/2 0 1 97/4

Haciendo que 𝑥1 recupere el carácter de variable básica, obtenemos:


APLICACIÓN DEL ALGORITMO
V. B. 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 𝑥6 𝑥7 𝑥8 𝑥9 −𝑧 Cts.
𝑥5 0 0 0 -1/2 1 0 0 1 0 0 1/2
𝑥2 0 1 0 0 0 0 0 1 0 0 2
𝑥1 1 0 0 1/4 0 0 0 -1/2 0 0 13/4
𝑥3 0 0 1 1 0 0 0 -12 0 0 18
𝑥6 0 0 0 0 0 1 0 -1 0 0 1
𝑥8 0 0 0 1/4 0 0 1 -1/2 0 0 1/4
𝑥9 0 0 0 -1/4 0 0 0 1/2 1 0 -1/4
−𝑧 0 0 0 5/4 0 0 0 3/2 0 1 97/4

La variable 𝑥9 sale de la base y la variable 𝑥4 entra. Obtenemos:


APLICACIÓN DEL ALGORITMO
V. B. 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 𝑥6 𝑥7 𝑥8 𝑥9 −𝑧 Cts.
𝑥5 0 0 0 0 1 0 0 0 -2 0 1
𝑥2 0 1 0 0 0 0 0 1 0 0 2
𝑥1 1 0 0 0 0 0 0 0 1 0 3
𝑥3 0 0 1 0 0 0 0 -10 4 0 17
𝑥6 0 0 0 0 0 1 0 -1 0 0 1
𝑥8 0 0 0 0 0 0 1 0 1 0 0
𝑥9 0 0 0 1 0 0 0 -2 -4 0 1
−𝑧 0 0 0 0 0 0 0 4 5 1 23

Esta tabla óptima da una solución entera. Ahora 𝐿 = 𝑃𝐸11212 , 𝑧 ∗ = −23, 𝑧∗ =


97
− y en 𝑆𝑂𝐿 almacenamos la solución entera última.
4
Elegimos 𝑃𝐸11212 , lo relajamos y lo resolvemos. La tabla sobre la que
iniciamos la resolución es:
APLICACIÓN DEL ALGORITMO
V. B. 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 𝑥6 𝑥7 𝑥8 𝑥9 −𝑧 Cts.
𝑥5 0 0 0 -1/2 1 0 0 1 0 0 1/2
𝑥2 0 1 0 0 0 0 0 1 0 0 2
𝑥1 1 0 0 1/4 0 0 0 -1/2 0 0 13/4
𝑥3 0 0 1 1 0 0 0 -12 0 0 18
𝑥6 0 0 0 0 0 1 0 -1 0 0 1
𝑥8 0 0 0 1/4 0 0 1 -1/2 0 0 1/4
𝑥9 1 0 0 0 0 0 0 0 -1 0 4
−𝑧 0 0 0 5/4 0 0 0 3/2 0 1 97/4

Haciendo que 𝑥1 y 𝑥9 recuperen el carácter de variables básicas, obtenemos:


APLICACIÓN DEL ALGORITMO
V. B. 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 𝑥6 𝑥7 𝑥8 𝑥9 −𝑧 Cts.
𝑥5 0 0 0 -1/2 1 0 0 1 0 0 1/2
𝑥2 0 1 0 0 0 0 0 1 0 0 2
𝑥1 1 0 0 1/4 0 0 0 -1/2 0 0 13/4
𝑥3 0 0 1 1 0 0 0 -12 0 0 18
𝑥6 0 0 0 0 0 1 0 -1 0 0 1
𝑥8 0 0 0 1/4 0 0 1 -1/2 0 0 1/4
𝑥9 0 0 0 1/4 0 0 0 -1/2 1 0 -3/4
−𝑧 0 0 0 5/4 0 0 0 3/2 0 1 97/4

𝑥9 sale de la base y entra 𝑥8 :


APLICACIÓN DEL ALGORITMO
V. B. 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 𝑥6 𝑥7 𝑥8 𝑥9 −𝑧 Cts.
𝑥5 0 0 0 0 1 0 0 0 2 0 -1
𝑥2 0 1 0 1/2 0 0 0 0 2 0 1/2
𝑥1 1 0 0 0 0 0 0 0 -1 0 4
𝑥3 0 0 1 -5 0 0 0 0 -24 0 0
𝑥6 0 0 0 -1 0 1 0 0 -2 0 5/2
𝑥8 0 0 0 0 0 0 1 0 -1 0 2
𝑥9 0 0 0 -1/2 0 0 0 1 -2 0 3/2
−𝑧 0 0 0 0 0 0 0 4 5 1 92/4
Este problema es no factible.
Por tanto, 𝐿 = ∅ y la solución entera es la almacenada en 𝑆𝑂𝐿.
La búsqueda realizada puede realizarse utilizando un árbol dirigido cuyos
vértices son los diferentes subproblemas de la lista generados por las
distintas ramificaciones (arcos). No se ramifica (están enumeradas
implícitamente las correspondientes soluciones enteras) a partir de vértices
con solución entera, no factibles o con valor objetivo mayor o igual que la
cota inferior actual.
APLICACIÓN DEL ALGORITMO

𝑧∗ = ∞ 𝑥2 ≥ 4
53 𝑃𝐸1
𝑧∗ = − 2
𝑃𝐸12
𝑥2 ≤ 3 Sol. no entera
No factible

𝑧 ∗ = −∞
103 𝑧 ∗ = −22
𝑧∗ = − 4 𝑃𝐸11 𝑥1 ≥ 3 𝑧∗ = −25

Sol. no entera 𝑃𝐸112 Sol. no entera


𝑥1 ≤ 2
𝑥2 ≤ 2
𝑥2 ≥ 3
𝑧 ∗ = −22
97
𝑃𝐸111 𝑧 ∗ = −22 𝑧∗ = − 4 𝑃𝐸1121
103 Sol. no entera 𝑃𝐸1122
𝑧∗ = − 4
𝑥1 ≤ 3 𝑥1 ≥ 4
Sol. entera No factible

𝑃𝐸11211 𝑧 ∗ = −23 𝑃𝐸11212


𝑧∗ = −23
Sol. entera No factible
APLICACIÓN DEL ALGORITMO
Regiones factibles de los subproblemas de la lista.
𝑧 ∗ = ∞, 5 7 𝑧 ∗ = ∞,
53 2, 2 103
𝑧∗ = − 2 𝑧∗ = − 4
11
4
,3
0, 52 0, 52

7 3 7 3
𝑃𝐸1 ,
2 2 𝑃𝐸11 ,
2 2

7 7
0,0 2, 0 0,0 2, 0
2,3
𝑧 ∗ = −22
0, 52 𝑧∗ = −22 3, 52
103 𝑧∗ = −25
𝑧∗ = − 4
7 3
𝑃𝐸111 2, 2
𝑃𝐸112

7
0,0 2,0 3,0 2, 0
APLICACIÓN DEL ALGORITMO

13
𝑧 ∗ = −22 𝑧 ∗ = −23
4 ,2 𝑧∗ = −97 𝑧∗ = −23
3,2 4 3,2
7 3
,
2 2

𝑃𝐸1121 𝑃𝐸11211

7
3,0 2
,0 3,0
REGLAS ADICIONALES

▪ Para la selección de subproblemas de la lista:


- LIFO (Last In First Out: búsqueda en profundidad sobre el árbol o
depth first search)
- FIFO (First In First Out: búsqueda en anchura sobre el árbol o breadth
first search)

▪ Para la selección de variables:


La que, teniendo que ser entera, tiene actualmente valor fraccionario y
es:
- La de mayor valor.
- La que es “más importante”.
- La primera de la lista.
- Cualquiera de ellas (elección arbitraria).
METODOS DE HIPERPLANOS DE CORTE
Dado un problema de Programación Entera:
min
. :
0
,∀ ∈
para ⊆ 1, … , , sea ̅ solución óptima del problema relajado:
min
. :
0
Supongamos que ̅ no verifica las restricciones enteras.
Definición
La desigualdad ∑ es válida para síi separa ̅ de las
soluciones que verifican las restricciones enteras de este problema. Es decir,
∑ para cualquier solución entera y ∑ ̅ . Se
dice entonces que ∑ es un hiperplano de corte.
La idea central de los Métodos de Hiperplanos de Corte es trabajar con
relajaciones de subproblemas del problema inicial para, en caso de no
encontrar una solución que verifique las restricciones enteras, generar un
nuevo subproblema añadiendo una desigualdad válida. Se produce una
redefinición o refinamiento de la región factible que posibilita, en su caso,
encontrar una solución entera sobre un suproblema continuo.
METODOS DE HIPERPLANOS DE CORTE
Un esquema de un Método de Hiperplanos de Corte sería el siguiente:
Inicio
Se considera el problema entero inicial.
Mientras
Al resolver la relajación del problema actual, no se detecte no acotación, no
factibilidad o una solución que verifique las restricciones enteras, añadir al
problema entero actual una desigualdad válida y repetir.

En este caso, hay un único problema candidato a ser elegido para relajarlo y
resolverlo. La no factibilidad o la no acotación del problema relajado
conduce a la no factibilidad del problema entero (en el primer caso) y a la no
acotación o no factibilidad de dicho problema (en el segundo caso).
El asunto crucial es la elección de una desigualdad válida.
En la literatura sobre hiperplanos de corte existen distintas propuestas con
diversas garantías de convergencia para el anterior esquema. Con carácter
introductorio, estudiaremos cortes de Gomory para los casos entero puro y
entero mixto.
CORTES DE GOMORY: CASO ENTERO PURO
Sea el problema de Programación Entera:
min
. :
0
, ∀ ∈ 1, … ,
y ̅ solución óptima del problema relajado:
min
. :
0
Podemos suponer que ̅ es una solución básica. Supongamos que ̅ no
verifica las restricciones enteras; es decir, ∃ ∈ tal que ̅ no es entero.
En la tabla óptima del problema relajado se lee:

Sean, 0 y 0 . Sustituyendo en la anterior


ecuación:
∑∈ ; ∑ ∈ ∑ ∈

Para cualquier solución que verifique las restricciones enteras,


∑∈ es un número entero. Por tanto, ∑∈ es, también, un
número entero. Como, además, ∑∈ , se tiene que
∑∈ 0 define una desigualdad válida.
CORTES DE GOMORY: CASO ENTERO PURO
En el esquema anterior, la restricción a añadir es:


Esta restricción no es verificada por ̅ y es válida para cualquier solución
entera del problema.
Se observa que la elección de la variable básica, asociada a la restricción
sobre la que se genera el corte, puede no ser única. Su selección puede ser
realizada de acuerdo a reglas por considerar.
Ejemplo
Resolver el siguiente problema entero puro:
min 2 3
. : 2 7
2 5
0, 0
,
La gráfica correspondiente a la región factible (señalando las soluciones
enteras) es:
CORTES DE GOMORY: CASO ENTERO PURO

7
0,
2 5 9
,
2 4

5
,0
2
Si iniciamos la resolución del problema relajado del planteado, tendremos
que resolver:
min 2 3
. : 2 7
2 5
0, 0
La tabla correspondiente es:
CORTES DE GOMORY: CASO ENTERO PURO

V. B. Cts.
1 2 1 0 0 7
2 0 0 1 0 5
2 3 0 0 1 0

La variable sale de la base y entra . Se obtiene:

V. B. Cts.
1/2 1 1/2 0 0 7/2
2 0 0 1 0 5
1/2 0 3/2 0 1 21/2

La variable sale de la base y entra . Se obtiene:


V. B. Cts.
0 1 1/2 1/4 0 9/4
1 0 0 1/2 0 5/2
0 0 3/2 1/4 1 47/4
Esta tabla da una solución óptima no entera.
CORTES DE GOMORY: CASO ENTERO PURO
Elegimos, para generar un corte, la primera variable básica con valor
fraccionario.
La desigualdad válida será:


es decir:
1 3 1
2 4 4
De la tabla anterior se obtiene
1 1 9
2 4 4
1 5
2 2
Resolviendo este sistema, y sustituyendo en la desigualdad anterior, se
obtiene:
2 7
Tendremos que resolver el problema:
min 2 3
. : 2 7
2 5
1 3 1
2 4 4
0, 0
CORTES DE GOMORY: CASO ENTERO PURO
La resolución de la correspondiente relajación nos lleva a la tabla:
V. B. Cts.
0 1 1/2 1/4 0 0 9/4
1 0 0 1/2 0 0 5/2
0 0 1/2 3/4 1 0 1/4
0 0 3/2 1/4 0 1 47/4
La aplicación del Método Simplex Dual indica que sale de la base y entra
. Obtenemos:
V. B. Cts.
0 1 2/3 0 1/3 0 7/3
1 0 1/3 0 2/3 0 7/3
0 0 2/3 1 4/3 0 1/3
0 0 4/3 0 1/3 1 35/3
La solución óptima de esta tabla no es entera. Se genera la desigualdad
válida:
2 2 1
3 3 3
cuya expresión equivalente es 2 2 9.
CORTES DE GOMORY: CASO ENTERO PURO

V. B. Cts.
0 1 2/3 0 1/3 0 0 7/3
1 0 1/3 0 2/3 0 0 7/3
0 0 2/3 1 4/3 0 0 1/3
0 0 2/3 0 2/3 1 0 1/3
0 0 4/3 0 1/3 0 1 35/3
Si resolvemos:
V. B. Cts.
0 1 1 0 0 1/2 0 5/2
1 0 1 0 0 1 0 2
0 0 2 1 0 2 0 1
0 0 1 0 1 3/2 0 1/2
0 0 1 0 0 1/2 1 23/2

La solución óptima de esta tabla no es entera.


Se genera la desigualdad válida cuya expresión, en términos de
y es 4
CORTES DE GOMORY: CASO ENTERO PURO

V. B. Cts.
0 1 1 0 0 1/2 0 0 5/2
1 0 1 0 0 1 0 0 2
0 0 2 1 0 2 0 0 1
0 0 1 0 1 3/2 0 0 1/2
0 0 0 0 0 1/2 1 0 1/2
0 0 1 0 0 1/2 0 1 23/2

V. B. Cts.
0 1 1 0 0 0 0 0 3
1 0 1 0 0 0 2 0 1
0 0 2 1 0 0 4 0 3
0 0 1 0 1 0 3 0 2
0 0 0 0 0 1 2 0 1
0 0 1 0 0 0 1 1 11
REGIONES DESPUÉS DE LOS CORTES

7 7 5
0, 7 7 0, 2,
2 , 2 2
3 3
5 5
(I) ,2 ,2
2 2
(II)

5 5
,0 ,0
2 2
1,3

5 3
,
(III) 2 2

5
,0
2
CORTES DE GOMORY: CASO ENTERO PURO
Si, en el problema que acabamos de resolver, si se usa para generar el corte
la variable con mayor valor fraccionario:
1 1
2 2

Despejando convenientemente en la tabla anterior, esta desigualdad se


convierte en 2.

Tendremos que resolver el problema:


min 2 3
. : 2 7
2 5
1 1
2 2
0, 0
,

La resolución de la correspondiente relajación nos lleva a la tabla:


CORTES DE GOMORY: CASO ENTERO PURO

V. B. Cts.
0 1 1/2 1/4 0 0 9/4
1 0 0 1/2 0 0 5/2
0 0 0 1/2 1 0 1/2
0 0 3/2 1/4 0 1 47/4

La aplicación del Método Simplex Dual indica que sale de la base y entra
. Obtenemos:
V. B. Cts.
0 1 1/2 0 1/2 0 5/2
1 0 0 0 1 0 2
0 0 0 1 2 0 1
0 0 3/2 0 1/2 1 23/2

La solución óptima de esta tabla no es entera. Se genera la desigualdad


válida:
1 1 1
2 2 2
que, a partir de la tabla anterior, se convierte en 4.
CORTES DE GOMORY: CASO ENTERO PURO

V. B. Cts.
0 1 1/2 0 1/2 0 0 5/2
1 0 0 0 1 0 0 2
0 0 0 1 2 0 0 1
0 0 1/2 0 1/2 1 0 1/2
0 0 3/2 0 1/2 0 1 23/2
Si resolvemos:
V. B. Cts.
0 1 1 0 0 1 0 3
1 0 1 0 0 2 0 1
0 0 2 1 0 4 0 3
0 0 1 0 1 2 0 1
0 0 1 0 0 1 1 11

La solución óptima de esta tabla es entera.


REGIONES DESPUÉS DE LOS CORTES

1,3
7 7
0, 5 0,
2 2, 2
2
2,2

(I) (II)

2,0 2,0
CORTES DE GOMORY: CASO ENTERO MIXTO
Sea el problema de Programación Entera:
min
. :
0
,∀ ∈
con ∅ ⊊ 1, … , . Sea ̅ solución óptima del problema relajado:
min
. :
0
Podemos suponer que ̅ es una solución básica. Supongamos que ̅ no
verifica las restricciones enteras; es decir, ∃ ∈ tal que ̅ no es entero.
En la tabla óptima del problema relajado se lee:

Sean, 0 y 0, , ∈ | 0 ,
∈ | 0 . Sustituyendo en la anterior ecuación:

∈ ∩ ∈

∈ ∩ ∈ ∈ ∩
CORTES DE GOMORY: CASO ENTERO MIXTO
Para cualquier solución que verifique las restricciones enteras, es entero.
Por tanto:
• 1, en cuyo caso:
1
∈ ∩ ∈
Es decir:
1;
1
∈ ∈
• 0 y por ello:
;
∈ ∩ ∈ ∈ ∩ ∈

Se propone la desigualdad:

1
∈ ∈ ∩ ∈
que no es verificada por ̅ pero que si se cumple para cualquier solución
entera.
Ahora también habrá que arbitrar reglas para elegir la variable básica sobre
la que generar el corte.
CORTES DE GOMORY: CASO ENTERO MIXTO
Ejemplo
Resolver el siguiente problema entero mixto:
min 2
. :3 2
2 4 3
0, 0

La gráfica correspondiente a la región factible (señalando las soluciones


enteras) es:

0,2

1 1
,
2 2
3
,0
2
CORTES DE GOMORY: CASO ENTERO MIXTO
Si iniciamos la resolución del problema relajado del planteado, tendremos
que resolver:
min 2
. :3 2
2 4 3
0, 0
La tabla correspondiente es:

V. B. Cts.
3 1 1 0 0 2
2 4 0 1 0 3
2 1 0 0 1 0

La variable sale de la base y entra . Se obtiene:

V. B. Cts.
5/2 0 1 1/4 0 5/4
1/2 1 0 1/4 0 3/4
3/2 0 0 1/4 1 3/4
CORTES DE GOMORY: CASO ENTERO MIXTO
La variable sale de la base y entra . Se obtiene:
V. B. Cts.
1 0 2/5 1/10 0 1/2
0 1 1/5 3/10 0 1/2
0 0 3/5 1/10 1 3/2
Esta tabla da una solución óptima no entera.
Elegimos, para generar un corte, la variable . La desigualdad válida será:

1
∈ ∈ ∩ ∈
es decir:
2 1 1
5 10 2
De la tabla anterior:
2 1 1
5 10 2
1 3 1
5 10 2
Resolviendo este sistema, y sustituyendo en la desigualdad anterior, se
obtiene:
7 4 8
CORTES DE GOMORY: CASO ENTERO MIXTO
Tendremos que resolver el problema:
min 2
. :3 2
2 4 3
2 1 1
5 10 2
0, 0

La relajación de este problema se resuelve a partir de la tabla:

V. B. Cts.
1 0 2/5 1/10 0 0 1/2
0 1 1/5 3/10 0 0 1/2
0 0 2/5 1/10 1 0 1/2
0 0 3/5 1/10 0 1 3/2

La variable sustituye en la base a . Se obtiene:


CORTES DE GOMORY: CASO ENTERO MIXTO

V. B. Cts.
1 0 4/5 0 1 0 0
0 1 7/5 0 3 0 2
0 0 4 1 10 0 5
0 0 1/5 0 1 1 2

Esta solución verifica las restricciones enteras

0,2

3
,0
2

También podría gustarte