Está en la página 1de 84

1.2.1.

2
ANTOLOGIA
MTRA. ANGÉLICA GUTIÉRREZ LIMÓN

0
INDICE PAG

I. METODOLOGIA DE LA INVESTIGACION DE OPERACIONES Y FORMULACION DE


MODELOS.
1.1. DEFINICION……………………………………………………………………………….. .2
1.2. FASES DEL ESTUDIO DE LA INVESTIGACION DE OPERACIONES…………...... 3
1.3. PRINCIPALES APLICACIONES DE LA INVESTIGACION DE OPERACIONES…... 8
1.4. FORMULACION DE PROBLEMAS LINEALES………………………………………… 9
1.5. FORMULACION DE PROBEMAS MAS COMUNES POR EJEMPLO DIETA
TRANSPORTE, ASIGNACION REMPLAZO…………………………………… …… 11
II. EL METODO SIMPLEX………………………………………………………………… ... .11
II.1 SOLUCION GRAFICA EN UN PROBLEMA LINEAL………………………….. .11
2.2. TEORIA DEL METODO SIMPLEX……………………………………………… .. 16
2.3. FORMA TABULAR DEL METODO SIMPLEX………………………………… … 19
2.4. EL METODO DE LAS DOS FASES…………………………………………… …..23
2.5. EL METODO SIMPLEX REVISADO…………………………………………… ….26
2.6. CASOS ESPECIALES…………………………………………………………… ….28
III. TEORIA DE LA DUALIDAD Y ANALISIS DE SENSIBILIDAD……………………… ….29
3.1. FORMULACION DEL PROBLEMA DUAL…………………………………… .32
3.2. RELACION PRIMAL DUAL……………………………………………………………… 34
3.3. INTERPRETACION ECONOMICA DEL DUAL…………………………………………35
3.4. CONDICIONES KHUN-TUCKER……………………………………………… .38
3.5. DUAL SIMPLEX……………………………………………..…………………… 41
3.6.CAMBIOS EN EL VECTOR COSTOS ………………………………………………… .47
3.7. CAMBIOS EN LOS Bi DE LAS RESTRICCIONES……………………………47
3.8. CAMBIOS EN LOS COEFICIENTES……………………………………………………48
3.9. ADICION DE UNA NUEVA VARIABLE………………………………………...50
3.10 ADICION DE UNA NUEVA VARIABLE ……………… ……………..…………… …51

IV. TRANSPORTE Y ASIGNACION……………………………………………………… …..53


IV.1 DEFINICION DEL PROBLEMA DE TRANSPORTE………………………… …..53
IV.2 EL METODO DE APROXIMACION DE VOGEL……………………………… ….55
IV.3 METODO MODI……………………………………………………………………….57
IV.4 PROCEDIMIENTO DE OPTIMIZACION……………………………………………61
IV.5 DEFINICION DEL PROBLEMA DE ASIGANCION………………………………..62
IV.6 EL MÉTODO HUNGARO…………………………………………………………….64
V. PROGRAMACION ENTERA ……………………………………………………………….66
V.1 INTRODUCIION Y CASOS DE APLICACIÓN……………………………………..66
V.2 DEFINICION Y MODELOS DE PROGRAMACION ENTERA……………………67
V.3 METODO DE RAMIFICACION Y ACOTAR……………………………………… .71
V.4 METODO DE PLANOS CORTANTES………………………………………… ..…75
V.5 ALGORITMO ADITIVO DE BALAS…………………………………………………78

1
I. METODOLOGIA DE LA INVESTIGACION DE
OPERACIONES Y FORMULACION DE MODELOS.
1.1DEFINICION.
La Definición De Churchman, Ackoff Y Arnoff: La Investigación De Operaciones
Es La Aplicación, Por Grupos Interdisciplinarios, Del Método Científico A
Problemas Relacionados Con El Control De Las Organizaciones O Sistemas
(Hombre-Máquina), A Fin De Que Se Produzcan Soluciones Que Mejor Sirvan A
Los Objetivos De La Organización.
De ésta definición se pueden destacar los siguientes conceptos:
1. Una organización es un sistema formado por componentes que se
interaccionan, unas de estas interacciones pueden ser controladas y otras no.
2. En un sistema la información es una parte fundamental, ya que entre las
componentes fluye información que ocasiona la interacción entre ellas.
También dentro de la estructura de los sistemas se encuentran recursos que
generan interacciones. Los objetivos de la organización se refieren a la eficacia
y eficiencia con que las componentes pueden controlarse, el control es un
mecanismo de autocorrección del sistema que permite evaluar los resultados
en términos de los objetivos establecidos.
3. La complejidad de los problemas que se presentan en las organizaciones ya
no encajan en una sola disciplina del conocimiento, se han convertido en
multidisciplinario por lo cual para su análisis y solución se requieren grupos
compuestos por especialistas de diferentes áreas del conocimiento que logran
comunicarse con un lenguaje común.
4. La investigación de operaciones es la aplicación de la metodología científica
a través modelos matemáticos, primero para representar al problema y luego
para resolverlo. La definición de la sociedad de investigación de operaciones
de la Gran Bretaña es la siguiente:
La investigación de operaciones es el ataque de la ciencia moderna a los
complejos problemas que surgen en la dirección y en la administración de
grandes sistemas de hombres, máquinas, materiales y dinero, en la industria,
en los negocios, en el gobierno y en la defensa. Su actitud diferencial consiste
en desarrollar un modelo científico del sistema tal, que incorpore valoraciones
de factores como el azar y el riesgo y mediante el cual se predigan y comparen
los resultados de decisiones, estrategias o controles alternativos. Su propósito
es el de ayudar a la gerencia a determinar científicamente sus políticas y
acciones.

La Investigación de Operaciones aspira a determinar el mejor curso de acción,


o curso óptimo, de un problema de decisión con la restricción de recursos
limitados. Como técnica para la resolución de problemas, investigación de
operaciones debe visualizarse como una ciencia y como un arte. Como Ciencia
radica en ofrecer técnicas y algoritmos matemáticos para resolver problemas
de decisión adecuada. Como Arte debido al éxito que se alcanza en todas las
fases anteriores y posteriores a la solución de un modelo matemático, depende
de la forma apreciable de la creatividad y la habilidad personal de los analistas
encargados de tomar las decisiones. En un equipo de Investigación de

2
Operaciones es importante la habilidad adecuada en los aspectos científicos y
artísticos de Investigación de Operaciones. Si se destaca un aspecto y no el
otro probablemente se impedirá la utilización efectiva de la Investigación de
Operaciones en la práctica. La Investigación de Operaciones en la Ingeniería
de Sistemas se emplea principalmente en los aspectos de coordinación de
operaciones y actividades de la organización o sistema que se analice,
mediante el empleo de modelos que describan las interacciones entre los
componentes del sistema y de éste con este con su medio ambiente. En la
Investigación de Operaciones la parte de "Investigación" se refiere a que aquí
se usa un enfoque similar a la manera en la que se lleva a cabo la investigación
en los campos científicos establecidos. La parte de "Operaciones" es por que
en ella se resuelven problemas que se refieren a la conducción de operaciones
dentro de una organización

1.2 FASES DEL ESTUDIO DE LA INVESTIGACION DE OPERACIONES

Fases o Etapas de la Investigación de Operaciones. Las etapas de un estudio


de Investigación de Operaciones son las siguientes: Definición del problema de
interés y recolección de los datos relevantes. Formulación de un modelo
matemático que represente el problema. Desarrollo de un procedimiento
basado en computadora para derivar una solución al problema a partir del
modelo. Prueba del modelo y mejoramiento según sea necesario. Preparación
para la aplicación del modelo prescrito por la administración. Puesta en
marcha.

Definición del problema y recolección de datos.

La primera actividad que se debe realizar es el estudio del sistema relevante y


el desarrollo de un resumen bien definido del problema que se va a analizar.
Esto incluye determinar los objetivos apropiados, las restricciones sobre lo que
se puede hacer, las interrelaciones del área bajo estudio con otras áreas de la
organización, los diferentes cursos de acción posibles, los límites de tiempo
para tomar una decisión, etc. Este proceso de definir el problema es crucial ya
que afectará en forma significativa la relevancia de las conclusiones del
estudio.

Determinar los objetivos apropiados viene a ser un aspecto muy importante en


la formulación del problema. Para hacerlo, es necesario primero identificar a la
persona o personas de la administración que de hecho tomarán las decisiones
concernientes al sistema bajo estudio, y después escudriñar los pensamientos
de estos individuos respecto a los objetivos pertinentes. (Incluir al tomador de
decisiones desde el principio es esencial para obtener su apoyo al realizar el
estudio.)

Es común que los equipos de Investigación de Operaciones pasen mucho


tiempo recolectando los datos relevantes sobre el problema. Se necesitan
muchos datos como para lograr un entendimiento exacto del problema como
para proporcionar el insumo adecuado para el modelo matemático que se
formulará en la siguiente etapa del estudio.

3
Tomará un tiempo considerable al equipo de Investigación de Operaciones
recabar la ayuda de otros de otros individuos clave de la organización para
recolectar todos los datos importantes. Muchas veces, el equipo de
Investigación de Operaciones pasará mucho tiempo intentando mejorar la
precisión de los datos y al final tendrá que trabajar con lo que pudo obtener.

Aplicación: El Departamento de Salud de New Haven, Connecticut utilizó un


equipo de Investigación de Operaciones para diseñar un programa efectivo de
intercambio de agujas para combatir el contagio del virus que causa el SIDA
(HIV), y tuvo éxito en la reducción del 33% de la tasa de infección entre los
clientes del programa. La parte central de este estudio fue un innovador
programa de recolección de datos para obtener los insumos necesarios para
los modelos matemáticos de transmisión del SIDA. Este programa barco un
rastreo completo de cada aguja (y cada jeringa), con la identificación,
localización y fecha de cada persona que recibía una aguja y cada persona que
la regresaba durante un intercambio, junto con la prueba de si la condición de
la aguja era HIV - positivo o HIV – negativo.

Formulación de un modelo matemático.

Una vez definido el problema del tomador de decisiones, la siguiente etapa


consiste en reformularlo de manera conveniente para su análisis. La forma
convencional en que la investigación de operaciones realiza esto es
construyendo un modelo matemático que represente la esencia del problema.
El modelo matemático puede expresarse entonces como el problema de elegir
los valores de las variables de decisión de manera que se maximice la función
objetivo, sujeta a las restricciones dadas. Un modelo de este tipo, y algunas
variaciones menores sobre él, tipifican los modelos analizados en investigación
de operaciones.

Un paso crucial en la formulación de un modelo de Investigación de


Operaciones es la construcción de la función objetivo. Esto requiere desarrollar
una medida cuantitativa de la efectividad relativa a cada objetivo del tomador
de decisiones identificado cuando se estaba definiendo el problema. Si en el
estudio se contemplan mas de un objetivo, es necesario transformar y
combinar las medidas respectivas en una medida compuesta de efectividad
llamada medida global de efectividad. A veces esta medida compuesta
puede ser algo tangible (por ejemplo, ganancias) y corresponder a una meta
mas alta de la organización, o puede ser abstracta (como "utilidad"). En este
último caso la tarea para desarrollar esta medida puede ser compleja y requerir
una comparación cuidadosa de los objetivos y su importancia relativa.

Aplicación: La Oficina responsable del control del agua y los servicios públicos
del Gobierno de Holanda, el Rijkswaterstatt, asignó un importante estudio de
Investigación de Operaciones para guiarlo en el desarrollo de una importante
política de administración del agua. La nueva política ahorro cientos de
millones de dólares en gastos de inversión y redujo el daño agrícola en
alrededor de 15 millones de dólares anuales, al mismo tiempo que disminuyo la
contaminación térmica y debida a las algas. En lugar de formular un modelo
matemático, este estudio de Investigación de Operaciones desarrolló un

4
sistema integrado y comprensible de ¡50 modelos! Mas aún, para alguno de los
modelos, se desarrollan versiones sencillas y complejas. La versión sencilla se
usó para adquirir una visión básica incluyendo el análisis de trueques. La
versión compleja se usó después en las corridas finales del análisis o cuando
se deseaba mayor exactitud o más detalles en los resultados. El estudio
completo de Investigación de Operaciones involucró directamente a mas de
125 personas – año de esfuerzo (mas de un tercio de ellas en la recolección de
datos), creó varias docenas de programas de computación y estructuró una
enorme cantidad de datos.

Obtención de una solución a partir del modelo.

Una vez formulado el modelo matemático para el problema bajo estudio, la


siguiente etapa para un estudio de Investigación de Operaciones consiste en
desarrollar un procedimiento (por lo general basado en computadora) para
derivar una solución al problema a partir de este modelo. Esta es una etapa
relativamente sencilla, en la que se aplican uno de los algoritmos de
investigación de operaciones en una computadora.

Un tema común en Investigación de Operaciones es la búsqueda de una


solución óptima, es decir, la mejor. Se han desarrollado muchos procedimientos
para encontrarla en cierto tipo de problemas, pero es necesario reconocer que
estas soluciones son óptimas sólo respecto al modelo que se está utilizando.

La meta de un estudio de Investigación de Operaciones debe ser llevada a


cabo el estudio de manera óptima, independientemente de si implica o no
encontrar una solución óptima para el modelo. Al reconocer este concepto, los
equipos de Investigación de Operaciones en ocasiones utilizan sólo
procedimientos heurísticos (es decir, procedimientos de diseño intuitivo que no
garantizan una solución óptima) para encontrar una buena solución subóptima.
Esto ocurre con mas frecuencia en los casos en que el tiempo o el costo que se
requiere para encontrar una solución óptima para un modelo adecuado del
problema son muy grandes.

Si la solución se implanta sobre la marcha, cualquier cambio en el valor de un


parámetro sensible advierte de inmediato la necesidad de cambiar la solución.

El análisis posóptimo también incluye la obtención de un conjunto de


soluciones que comprende una serie de aproximaciones, cada vez mejores, al
curso de acción ideal. Así, las debilidades aparentes de la solución inicial se
usan para sugerir mejoras al modelo, a sus datos de entrada y quizá al
procedimiento de solución. Se obtiene entonces una nueva solución, y el ciclo
se repite. Este proceso sigue hasta que las mejoras a soluciones sucesivas
sean demasiado pequeñas para justificar su solución.

Aplicación: Considere el nuevo estudio de Investigación de Operaciones para


el Rijkswaterstatt sobre la política de administración de agua en Holanda, que
se introdujo en el concepto anterior. Este estudio no concluyó con la
recomendación de una sola solución. Mas bien, se identificaron, analizaron y
compararon varias alternativas atractivas. La elección final se dejo al proceso

5
político de gobierno de Holanda que culmino con la aprobación del Parlamento.
El análisis de sensibilidad jugó un papel importante en este estudio. Por
ejemplo, ciertos parámetros de los modelos representaron estándares
ecológicos. El análisis de sensibilidad incluyó la evaluación del impacto en los
problemas de agua si los valores de estos parámetros se cambiaran de los
estándares ecológicos a otros valores razonables. Se usó también para evaluar
el impacto de cambios en las suposiciones de los modelos, por ejemplo, la
suposición sobre el efecto de tratados internacionales futuros sobre la
contaminación que pudiera llegar. También se analizaron varios escenarios
(como años secos o húmedos extremosos), asignando las probabilidades
adecuadas.

Prueba del modelo.

El desarrollo de un modelo matemático grande es análogo en algunos aspectos


al desarrollo de un programa de computadora grande. Cuando se completa la
primera versión, es inevitable que contenga muchas fallas. El programa debe
probarse de manera exhaustiva para tratar de encontrar y corregir tantos
problemas como sea posible.

Este proceso de prueba y mejoramiento de un modelo para incrementar su


validez se conoce como validación del modelo.

Un enfoque mas sistemático para la prueba del modelo es emplear una prueba
retrospectiva. Cuando es apacible, esta prueba utiliza datos históricos y
reconstruye el pasado para determinar si el modelo y la solución resultante
hubieran tenido un buen desempeño, de haberse usado. Al emplear
alternativas de solución y estimar sus desempeños históricos hipotéticos, se
pueden reunir evidencias en cuanto a lo bien que el modelo predice los efectos
relativos de los diferentes cursos de acción.

Aplicación: En un estudio de Investigación de Operaciones para IBM se


realizo con el fin de integrar su red nacional de inventarios de refacciones para
mejorar el servicio a los clientes, al mismo tiempo que reducir el valor de los
inventarios de IBM en mas de 250 millones de dólares y ahorrar otros 20
millones de dólares anuales a través del mejoramiento de la eficiencia
operacional. Un aspecto en particular interesante de la etapa de validación del
modelo en este estudio fue la manera en que se incorporaron el proceso de
prueba los usuarios futuros del sistema de inventarios. Debido a que estos
usuarios futuros (los administradores de IBM en las áreas funcionales
responsables de la implantación del sistema de inventarios) dudaban del
sistema que se estaba desarrollando, se asignaron representantes a un equipo
de usuarios que tendría la función de asesorar al equipo de Investigación de
Operaciones. Una vez desarrollada la versión preliminar del nuevo sistema
(basada en el sistema de inventarios de multiniveles) se lleva acabo una
prueba preliminar de implantación. La extensa retroalimentación por parte del
equipo de usuarios llevo a mejoras importantes en el sistema propuesto.

6
Preparación para la aplicación del modelo.

El siguiente paso es instalar un sistema bien documentado para aplicar el


modelo según lo establecido por la administración.

Este sistema casi siempre esta diseñado para computadora. De hecho, con
frecuencia se necesita un número considerable de programas integrados. La
base de datos y los sistemas de información administrativos pueden
proporcionar entrada actualizada para el modelo cada vez que se use, en cuyo
caso se necesitan programas de interfaz (de interacción con el usuario).
Después de aplicar un procedimiento de solución (otro programa) al modelo,
puede ser que los programas adicionales maneje la implantación de los
resultados de manera automática. En otros casos se instala un sistema
interactivo de computadora llamado sistema de soporte de decisiones, para
ayudar a la gerencia a usar datos y modelos para apoyar (no para sustituir) su
toma de decisiones cuando lo necesiten. Otro programa puede generar
informes gerenciales (en el lenguaje administrativo) que interpretan la salida del
modelo y sus implicaciones en la práctica.

Aplicación: Un sistema de computo grande para aplicar un modelo a las


operaciones de control de una red nacional. Este sistema, llamado SYSNET,
fue desarrollado como resultado de un estudio de Investigación de Operaciones
realizado para la Yellow Freight System, Inc. Esta compañía maneja
anualmente mas 15 millones de envíos de mensajería a través de una red de
630 terminales en todo estados Unidos. SYSNET se usa tanto para optimizar
tanto para optimizar las rutas de los envíos como el diseño de la red . Debido al
que sistema requiere mucha información sobre los flujos y pronósticos de
carga, los costos de transporte y manejo, etc.; una parte importante del estudio
de Investigación de Operaciones esta dedicada a la integración de SYSNET al
sistema de información administrativo de la corporación. Esta integración
permitió la integración periódica de la entrada al modelo. La implantación de
SYSNET dio como resultado el ahorro anual de alrededor de 17.3 millones de
dólares además de un mejor servicio a los clientes.

Implantación.

Una vez desarrollado un sistema para aplicar un modelo, la última etapa de un


estudio de Investigación de Operaciones es implementarlo siguiendo lo
establecido por la administración.

La etapa de implantación incluye varios pasos. Primero, el equipo de


Investigación de Operaciones da una cuidadosa explicación a la gerencia
operativa sobre el nuevo sistema que se va a adoptar y su relación con la
realidad operativa. Enseguida, estos dos grupos comparten la responsabilidad
de desarrollar los procedimientos requeridos para poner este sistema en
operación. La gerencia operativa se encarga después de dar una capacitación
detallada al personal que participa, y se inicia entonces el nuevo curso de
acción. Si tiene éxito, el nuevo sistema se podrá emplear durante algunos
años. Con esto en mente, el equipo de Investigación de Operaciones supervisa

7
la experiencia inicial con la acción tomada para identificar cualquier
modificación que tenga que hacerse en el futuro.

Aplicación: Este ultimo punto sobre la documentación de un estudio


Investigación de Operaciones se ilustra con el caso de la política nacional de
administración del agua de Rijkswaterstatt en Holanda. La administración
deseaba documentación mas extensa que lo normal, tanto para apoyar la
nueva política como para utilizarla en la capacitación de nuevos analistas o al
realizar nuevos estudios. Completar esta documentación requirió varios años y
¡quedo contenida en 4000 páginas a espacio sencillo encuadernadas en 21
volúmenes!

1.3 PRINCIPALES APLICACIONES DE LA INVESTIGACION DE


OPERACIONES

INVESTIGACIÓN DE OPERACIONES, PODEROSA HERRAMIENTA PARA EL


USO ÓPTIMO DE LOS RECURSOS ESCASOS
Cuál es la forma más eficiente de asignar ciertos recursos escasos para
conseguir la más alta tasa de retorno? ¿Cuál es la mejor manera de asignar
rutas a una flotilla de transporte de bienes que deben ser colocados en
bodegas de distribuidores para que los costos sean más bajos? ¿Cuántas
ventanillas deben colocarse en un banco en las horas normales y en las horas
y días pico para que los clientes no se desesperen y se larguen al banco que
está cruzando la calle?

¿Cuántas cajas registradoras debe habilitar un supermercado para que el largo


de las colas no entorpezcan la circulación de los clientes que aún están
comprando y de los trabajadores que colocan mercadería, etiquetan y dan
atención al público? ¿De qué manera debe asignarse un presupuesto en una
industria (o en un sector de la economía de un país), para que se satisfaga la
demanda interna y externa del bien o servicio que produce?

¿Cuál será la demanda de líneas telefónicas para el año 2000, teniendo en


cuenta el crecimiento natural de la población, el cambio de sus hábitos, la
producción, el número de profesionales, escuelas, comercios, etcétera, que
habrán en ese entonces? ¿Será posible hacer predicciones (aproximadas por
supuesto) de cuántas escuelas, comercios, profesionales, etcétera, habrá en el
año 2000? Hermosa cantidad de preguntas para comenzar un artículo sobre
Investigación de Operaciones (IO), pero definitivamente es muy oportuno
porque es en estos casos donde los especialistas en esta disciplina pueden
apoyar a los demás.

Una pregunta más: ¿Qué es entonces la Investigación de Operaciones?


realmente es un poco difícil dar una respuesta corta a esta última pregunta
pero si la IO va a tratar de encontrar respuesta a las preguntas que hemos
planteado en el primer párrafo y a otra tonelada más, debemos tratar de definir
lo que es. Hillier, Lieberman, Shamblin, Stevens, Taha, Tierauf, Grosse,
Sasieni, por mencionar algunos de los grandes especialistas en IO, dan una
serie de definiciones que bien podría resumirse como:

8
Es un enfoque científico de la toma de decisión. Podemos decir que la IO
utiliza un enfoque planeado (método científico) y un grupo interdisciplinario
para representar, mediante modelos simbólicos, las relaciones funcionales que
se dan en la realidad, lo cual suministra una base cuantitativa para la toma de
decisiones. Algo que es tan general como la definición que acabamos de dar
pero que da mucha claridad sobre lo que hace la Investigación de Operaciones
es que, cuando se aplica alguna herramienta de la IO, se busca obtener el
óptimo resultado del uso de los recursos escasos.

Mucho se dice de la formación previa que se debe tener para hacer


Investigación de Operaciones, incluso hay autores que aún dicen en sus libros,
que no se requiere ningún conocimiento de matemática para poder leerlo, sin
embargo, no advierten al ingenuo lector que tampoco podrán resolver
problemas reales sino solamente algunos ejemplos de juguete que se
encuentran ahí mismo. Nuestra experiencia en el campo de la enseñanza y la
aplicación de las herramientas de la IO, nos han hecho ver que para hacer IO
en forma profesional aceptable, se requiere de una sólida preparación en
Estadística Descriptiva e Inferencial, conocimientos sobre las aplicaciones del
Cálculo Diferencial e Integral y del Algebra Lineal, y desde luego, principios
generales de Economía, de lo contrario, el estudioso de la Investigación de
Operaciones se sentirá decepcionado y el que debe aplicarla se frustrará a
menudo.

1.4 FORMULACION DE PROBLEMAS LINEALES

Formulación de problemas de programación lineal. 1. Cierto fabricante produce


sillas y mesas para lo que requiere la utilización de dos secciones de pro-
duración: la sección de montaje y la sección de pintura. La producción de una
silla requiere 1 hora de trabajo en la sección de montaje y 2 en la de pintura.
Por su parte, la fabricación de una mesa precisa de 3 horas en la sección de
montaje y 1 en la de pintura. La sección de montaje sólo puede estar 9 horas
diarias en funcionamiento y la pintura sólo 8 horas. El beneficio que se obtiene
produciendo mesas es el doble que el de sillas >Cual ha de ser la producción
diaria de sillas y mesas que maximice el beneficio? 2. Queremos encontrar una
dieta "optima"(coste mínimo) para pollos. El lote diario requerido de la mezcla
son 100 unidades. La dieta debe contener al menos 0.8% pero no mas de 1.2%
de calcio; al menos 22% de proteínas y a lo mas 5% de verduras crudas.
Además, suponer que los principales ingredientes utilizados incluyen maíz, soja
y caliza (carbonato de calcio). El contenido nutritivo de estos ingredientes se
resume a continuación.

9
Plantear como un problema de programación lineal. 3. Un agricultor posee una
parcela de 640 m2 para dedicarla al cultivo de árboles frutales: naranjos,
perales y manzanos. Se pregunta de que forma repartiría la superficie de la
parcela entre las variedades para conseguir el máximo beneficio sabiendo que:
Cada naranjo precisa como mínimo de 16 m2, cada peral 4 m2 y cada
manzano 8 m2. Dispone de un total de 900 horas de trabajo al año precisando
cada naranjo 30 horas al año, cada peral 5 y cada manzano 10. Los beneficios
unitarios son de 50, 25 y 20 unidades monetarias por cada naranjo, peral y
manzano, respectivamente. Plantear como un problema de programación
lineal. 4. Un importador de Whisky dispone de un mercado ilimitado, pero la
reglamentación mensual de aduanas sobre importación supone las siguientes
restricciones para tres tipos de whisky (W1,W2 y W3):

Con estos tres tipos de whisky realiza tres mezclas diferentes cuyas características
vienen detalladas en la tabla siguiente:

Plantear el problema de determinar el plan de fabricación óptimo (beneficio


neto máximo) de los tres tipos de mezclas. 5. Una compañía se va a dedicar a
la fabricación de tres nuevos productos, P1; P2; P3. Para ello necesita de tres
maquinas, torno, fresadora y rectificadora. La disponibilidad de dichas
maquinas, el tiempo que necesita cada unidad de producto en cada una de
ellas y el beneficio unitario es el siguiente.

Las ventas de P1 y P2 excederán las tasas de producción. Del producto P3 se


venderán a lo sumo 20 piezas a la semana. >Cuantas unidades de cada
producto se deben fabricar para que el beneficio obtenido sea máximo? 6. Una
empresa de plásticos posee dos plantas de producción de laminas acrílicas que
son transportadas a diferentes fabricas para la confección de productos. Los
costes de transporte por unidad son.

10
.

Se quiere determinar la forma mas económica de transportar las laminas de las


plantas a las fabricas. Plantear como un modelo de programación lineal

1.5 FORMULACION DE PROBEMAS MAS COMUNES POR EJEMPLO


DIETA TRANSPORTE, ASIGNACION REMPLAZO.

II EL METODO SIMPLEX
EL METODO SIMPLEX PARA SOLUCIÓN DE PROBLEMAS DE
PROGRAMACIÓN LINEAL Es un procedimiento iterativo que permite ir
mejorando la solución a cada paso. El proceso concluye cuando no es posible
seguir mejorando más dicha solución. Partiendo del valor de la función objetivo
en un vértice cualquiera, el método consiste en buscar sucesivamente otro
vértice que mejore al anterior. La búsqueda se hace siempre a través de los
lados del polígono (o de las aristas del poliedro, si el número de variables es
mayor). Cómo el número de vértices (y de aristas) es finito, siempre se podrá
encontrar la solución. El método del simplex se basa en la siguiente propiedad:
si la función objetivo, f, no toma su valor máximo en el vértice A, entonces hay
una arista que parte de A, a lo largo de la cual f aumenta. del simplex fue
creado en 1947 por el matemático George Dantzig. El método del simplex se
utiliza, sobre todo, para resolver problemas de programación lineal en los que
intervienen tres o más variables. El álgebra matricial y el proceso de
eliminación de Gauss-Jordan para resolver un sistema de ecuaciones lineales
constituyen la base del método simplex.

2.1 SOLUCION GRAFICA EN UN PROBLEMA LINEAL

Solución Gráfica

Los problemas de programación lineal en dos variables tienen interpretaciones


geométricas relativamente sencillas; por ejemplo, el sistema de restricciones
lineales asociado con un problema de programación lineal bidimensional- si no
es inconsistente- define una región plana cuya frontera está formada por
segmentos de recta o semirrectas, por lo tanto es posible analizar tales
problemas en forma gráfica.

Si consideremos el problema del granjero López, es decir, de maximizar


P = 40x+ 30y sujeta a

2x+y<800
x+y<480
x>0, y>0
(7)

El sistema de desigualdades (7) define la región plana S que aparece en la


figura 5. Cada punto de S es un candidato para resolver este problema y se
conoce

11
como solución factible. El conjunto S se conoce como conjunto factible. El
objetivo es encontrar – entre todos los puntos del conjunto S- el punto o los
puntos que optimicen la función objetivo P. Tal solución factible es una
solución óptima y constituyen la solución del problema de programación lineal
en cuestión.

Como ya se ha observado, cada punto P(x,y) en S es un candidato para


la solución óptima del problema en cuestión, por ejemplo, es fácil ver que el
punto (200, 150) está en S y, por lo tanto, entra en la competencia. El valor de
la función objetivo P en el punto (200,150) está dado por
P=40(200)+30(150)=12.500 . Ahora si se pudiera calcular el valor de P
correspondiente a cada punto de S, entonces el punto (o los puntos) en S que
proporcione el valor máximo de P formará el conjunto solución buscado. Por
desgracia, en la mayoría de los problemas, la cantidad de candidatos es
demasiado grande o, como en este problema, es infinita. Así este método no es
adecuado.

Es mejor cambiar de punto de vista: en vez de buscar el valor de la


función objetivo P en un punto factible, se asignará un valor a la función P y se
buscarán los puntos factibles que correspondieran a un valor dado de P. Para
esto supóngase que se asigna a P el valor 6000. Entonces la función objetivo
se convierte en 40x+ 30y = 6.000,una ecuación lineal en x e y; por lo tanto,
tiene como gráfica una línea recta L1 en el plano.

Está claro que a cada punto del segmento de recta dado por la
intersección de la línea recta L1 y el conjunto factible S corresponde el valor
dado 6000 de P. Al repetir el proceso, pero ahora asignando a P el valor de
12.000, se obtiene la ecuación 40x+ 30y =12.000 y la recta L2 lo cual sugiere
que existen puntos factibles que corresponden a un valor mayor de P.
Obsérvese que la recta L2 es paralela a L1, pues ambas tienen una pendiente
igual a –4/3. Esto se comprueba con facilidad escribiendo las ecuaciones en
explícita de la recta.

En general, al asignar diversos valores a la función objetivo, se obtiene


una familia de rectas paralelas, cada una con pendiente igual a –4/3. Además,
una recta correspondiente a un valor mayor de P está más alejada del origen
que una recta con un valor menor de P. El significado es claro. Para obtener las
soluciones óptimas de este problema, se encuentra la recta perteneciente a
esta familia que se encuentra más lejos del origen y que interseque al conjunto

12
factible S. La recta requerida es aquella que pasa por el punto P(320,160) (Fig.
6), de modo que la solución de este problema está dado por x=320, y=160 ( es
decir que el granjero López deberá sembrar 320 hectáreas de maíz y 160
hectáreas de trigo), lo que produce el valor máximo
P=40(320)+30(160)=17.600.

No es casualidad que la solución óptima de este problema aparezca


como vértice del conjunto factible S. De hecho, el resultado es consecuencia
del siguiente teorema básico de la programación lineal, que se enuncia sin
demostración

Teorema 1 Si en problema de programación lineal tiene una solución, entonces ésta deb
esquina, del conjunto factible S asociado con el problema. Además, si la func
dos vértices adyacente de S, entonces se optimiza en todos los puntos del se
estos vértices, en cuyo caso existe una infinidad de soluciones al problema

En nuestro ejemplo los únicos vértice del conjunto factible S son los puntos
coordenados: (0,0); (400,0); (320,160); (0,480), llamados también puntos
esquinas (Fig. 6).

Un ejemplo en el que tendríamos infinitas soluciones, es:


VERTICE P=40x+40y
Supóngase que la utilidad por hectáreas es de
(0,0) 0 $40 para ambos, maíz y trigo. La tabla para este
(0,480) 19.200 caso muestra la misma utilidad total en los
(320,160) 19.200 vértices(0,480) y (320,160). Esto significa que la
línea de utilidad en movimiento abandona la
(400,0) 16.000 región sombreada por el lado determinado por
esos vértices (adyacentes) , así todo punto en ese
lado da una utilidad máxima. Todavía es válido,
sin embargo, que la utilidad máxima ocurre en un
vértice.

El teorema 1 dice que la búsqueda de las soluciones a un problema de


programación lineal se puede restringir al examen del conjunto de vértices del
conjunto factible S relacionado con el problema. Como un conjunto factible S
tiene un número finito de vértices, el teorema sugiere que las soluciones a un
problema de programación lineal se puedan hallar inspeccionando los valores
de la función objetivo P en los vértices.

Aunque el teorema 1 arroja un poco de luz acerca de la naturaleza de la


solución de un problema de programación lineal, no indica cuándo tiene
solución. El siguiente teorema establece ciertas condiciones que garantizan la
existencia de la solución de un problema de programación lineal.

Teorema 2: Supóngase un problema de programación lineal con un conjunto


Existencia de una factible S y una función objetivo P = ax + by.
solución 1. Si S está acotado, entonces P tiene u valor máximo y n valor

13
mínimo en S.
2. Si S no está acotado y tanto a como b son no negativos,
entonces P tiene un valor mínimo en S, si las restricciones que
definen a S incluyen las desigualdades x ³ 0 e y ³ 0.
3. Si S es el conjunto vacío, entonces el problema de
programación lineal no tiene solución; es decir, P no tiene un
valor máximo ni uno mínimo

El método utilizado para resolver el problema del granjero López recibe el


nombre de método de las esquinas. Este método sigue un procedimiento muy
sencillo para resolver los problemas de programación lineal basado en el
teorema1.

Método de las 1. Se grafica el conjunto factible.


esquinas 2. Se encuentran las coordenadas de todas las esquinas
(vértices) del conjunto factible.
3. Se evalúa la función objetivo en cada esquina.
4. Se halla el vértice que proporcione el máximo (mínimo) de
la función objetivo. Si sólo existe un vértice con esta
propiedad, entonces constituye una solución única del
problema. Si la función objetivo se maximiza (minimiza) en
dos esquinas adyacentes de S, entonces existe una infinidad
de soluciones óptimas dadas por los puntos del segmento de
recta determinado por estos dos vértices.

Aplicaremos los conceptos antes emitidos al siguiente problema de nutrición,


basado en los requerimientos, en el cual hay que minimizar la función objetivo.

Un nutricionista asesora a un individuo que sufre una deficiencia de hierro


y vitamina B, y le indica que debe ingerir al menos 2400 mg de vitamina B-
1 (tiamina) y 1500 mg de vitamina B-2 (riboflavina) durante cierto período
de tiempo. Existen dos píldoras de vitaminas disponibles, la marca A y la
marca B. Cada píldora de la marca A contiene 40 mg de hierro, 10 mg de
vitamina B-1, 5 mg de vitamina B-2 y cuesta 6 centavos. Cada píldora de la
marca B contiene 10 mg de hierro, 15 mg de vitamina B-1 y de vitamina B-
2, y cuesta 8 centavos (tabla 2).
¿Cuáles combinaciones de píldoras debe comprar el paciente para cubrir
sus requerimientos de hierro y vitamina al menor costo?

Requerimientos
Marca A Marca B
mínimos
Hierro 40 mg 10 mg 2400 mg
Vitamina B-1 10 mg 15 mg 2100 mg

14
Vitamina B-2 5 mg 15 mg 1500 mg
Costo por píldora
0,06 0,08
(US$)

Solución: Sea x el número de píldoras de la marca A e y el número de píldoras


de la marca B por comprar. El costo C, medido en centavos, está dado por

C = 6x+ 8y

que representa la función objetivo por minimizar.

La cantidad de hierro contenida en x píldoras de la marca A e y el


número de píldoras de la marca B está dada por 40x+10y mg, y esto debe ser
mayor o igual a 2400 mg. Esto se traduce en la desigualdad.

40x+10y>2400

Consideraciones similares con los requisitos mínimos de vitaminas B-1 y B-2


conducen a las desigualdades:

10x+15y>2100
5x+15y>1500

respectivamente. Así el problema en este caso consiste en minimizar C=6x+8y


sujeta a

40x+10y>2400
10x+15y>2100
5x+15y>1500
x>0, y>0
El conjunto factible S definido por el sistema de restricciones aparece en la
figura. Los vértices del conjunto factible S son A(0,240); B(30,120); C(120; 60)
y D(300,0).

Los valores de la función objetivo C en estos vértices en la tabla que sigue

15
Vertice C=6x + 8y

A (0,240) 1920

B(30,120) 1140

C(120,60) 1200

D(300,0) 1800

La tabla muestra que el mínimo de la función objetivo C=6x+8y ocurre en el


vértice B(30,120) y tiene un valor de 1140. Así el paciente debe adquirir 30
píldoras de la marca A y 120 de la marca B, con un costo mínimo de $11,40.

El método de las esquinas es de particular utilidad para resolver


problemas de programación lineal en dos variables con un número
pequeño de restricciones, como han demostrado los ejemplos
anteriores, sin embargo su efectividad decrece con rapidez cuando el
número de variables o de restricciones aumenta. Por ejemplo, se
puede mostrar que un ejemplo de programación lineal en tres
variables y cinco restricciones puede tener hasta diez esquinas
factibles. La determinación de las esquinas factibles requiere resolver
10 sistemas 3x3 de ecuaciones lineales y luego comprobar que cada
uno es un punto factible, sustituyendo cada una de estas soluciones
en el sistema de restricciones. Cuando el número de variables y de
restricciones aumenta a cinco y diez, respectivamente (que aún es un
sistema pequeño desde el punto de vista de las aplicaciones en
economía), la cantidad de vértice por hallar y comprobar como
esquinas factibles aumenta hasta 252, y cada uno de estos vértices
se encuentra resolviendo el sistema lineal ...¡de 5x5! Por esta razón,
el método de las esquinas se utiliza con poca frecuencia para resolver
problemas de programación lineal, su valor reside en que permite
tener una mejor idea acerca de la naturaleza de las soluciones a los
problemas de programación lineal a través de su uso en la solución de
problemas de dos variables.

2.2 TEORIA DEL METODO SIMPLEX

El método Simplex es un procedimiento iterativo que permite ir


mejorando la solución a cada paso. El proceso concluye cuando no es
posible seguir mejorando más dicha solución.

Partiendo del valor de la función objetivo en un vértice cualquiera, el


método consiste en buscar sucesivamente otro vértice que mejore al
anterior. La búsqueda se hace siempre a través de los lados del polígono

16
(o de las aristas del poliedro, si el número de variables es mayor). Cómo
el número de vértices (y de aristas) es finito, siempre se podrá
encontrar la solución. (Véase método Gráfico)

El método Simplex se basa en la siguiente propiedad: si la función


objetivo, f, no toma su valor máximo en el vértice A, entonces hay una
arista que parte de A, a lo largo de la cual f aumenta.

Deberá tenerse en cuenta que este método sólo trabaja para


restricciones que tengan un tipo de desigualdad "≤" y coeficientes
independientes mayores o iguales a 0, y habrá que estandarizar las
mismas para el algoritmo. En caso de que después de éste proceso,
aparezcan (o no varíen) restricciones del tipo "≥" o "=" habrá que
emplear otros métodos, siendo el más común el método de las Dos
Fases.

PREPARANDO EL MODELO PARA ADAPTARLO AL MÉTODO SIMPLEX

Esta es la forma estándar del modelo:

Función objetivo: c1·x1 + c2·x2 + ... + cn·xn


Sujeto a: a11·x1 + a12·x2 + ... + a1n·xn = b1
a21·x1 + a22·x2 + ... + a2n·xn = b2
...
am1·x1 + am2·x2 + ... + amn·xn = bm
x1,..., xn ≥ 0

Para ello se deben cumplir las siguientes condiciones:

1.El objetivo es de la forma de maximización o de


minimización.
2.Todas las restricciones son de igualdad.
3.Todas las variables son no negativas.
4.Las constantes a la derecha de las restricciones son no
negativas.

Cambio del tipo de optimización.

Si en nuestro modelo, deseamos minimizar, podemos dejarlo tal y


como está, pero deberemos tener en cuenta nuevos criterios para la
condición de parada (deberemos parar de realizar iteraciones cuando en
la fila del valor de la función objetivo sean todos menores o iguales a 0),
así como para la condición de salida de la fila. Con objeto de no cambiar
criterios, se puede convertir el objetivo de minimizar la función F por el
de maximizar F·(-1).

17
Ventajas: No deberemos preocuparnos por los criterios de parada, o
condición de salida de filas, ya que se mantienen.

Inconvenientes: En el caso de que la función tenga todas sus


variables básicas positivas, y además las restricciones sean de
desigualdad "≤", al hacer el cambio se quedan negativas y en la fila del
valor de la función objetivo se quedan positivos, por lo que se cumple la
condición de parada, y por defecto el valor óptimo que se obtendría es
0.

Solución: En la realidad no existen este tipo de problemas, ya que


para que la solución quedara por encima de 0, alguna restricción debería
tener la condición "≥", y entonces entraríamos en un modelo para el
método de las Dos Fases.

Conversión de signo de los términos independientes (las constantes a la


derecha de las restricciones)

Deberemos preparar nuestro modelo de forma que los términos


independientes de las restricciones sean mayores o iguales a 0, sino no
se puede emplear el método Simplex. Lo único que habría que hacer es
multiplicar por "-1" las restricciones donde los términos independientes
sean menores que 0.

Ventaja: Con ésta simple modificación de los signos en la restricción


podemos aplicar el método Simplex a nuestro modelo.

Inconvenientes: Puede resultar que en las restricciones donde


tengamos que modificar los signos de las constantes, los signos de las
desigualdades fueran ("=", "≤"), quedando ("=","≥") por lo que en
cualquier caso deberemos desarrollar el método de las Dos Fases. Este
inconveniente no es controlable, aunque nos podría beneficiar si sólo
existen términos de desigualdad ("≤","≥"), y los "≥" coincidieran con
restricciones donde el término independiente es negativo.

Todas las restricciones son de igualdad.

Si en nuestro modelo aparece una inecuación con una desigualdad


del tipo "≥", deberemos añadir una nueva variable, llamada variable de
exceso si, con la restricción si ≥ 0. La nueva variable aparece con
coeficiente cero en la función objetivo, y restando en las inecuaciones.

Surge ahora un problema, veamos como queda una de nuestras


inecuaciones que contenga una desigualdad "≥" :

a11·x1 + a12·x2 ≥ b1 a11·x1 + a12·x2 - 1·xs = b1

Como todo nuestro modelo, está basado en que todas sus variables
sean mayores o iguales que cero, cuando hagamos la primera iteración
con el método Simplex, las variables básicas no estarán en la base y

18
tomarán valor cero, y el resto el valor que tengan. En este caso nuestra
variable xs, tras hacer cero a x1 y x2, tomará el valor -b1. No cumpliría la
condición de no negatividad, por lo que habrá que añadir una nueva
variable, xr, que aparecerá con coeficiente cero en la función objetivo, y
sumando en la inecuación de la restricción correspondiente. Quedaría
entonces de la siguiente manera:

a11·x1 + a12·x2 ≥ b1 a11·x1 + a12·x2 - 1·xs + 1 ·xr = b1

Este tipo de variables se les llama variables artificiales, y aparecerán


cuando haya inecuaciones con desigualdad ("=","≥"). Esto nos llevará
obligadamente a realizar el método de las Dos Fases, que se explicará
más adelante.

Del mismo modo, si la inecuación tiene una desigualdad del tipo "≤",
deberemos añadir una nueva variable, llamada variable de holgura s i,
con la restricción si "≥" 0 . La nueva variable aparece con coeficiente
cero en la función objetivo, y sumando en las inecuaciones.

A modo resumen podemos dejar esta tabla, según la desigualdad que aparezca, y
con el valor que deben estar las nuevas variables.

Tipo de desigualdad Tipo de variable que aparece

≥ - exceso + artificial

= + artificial

≤ + holgura
http://www.phpsimplex.com/pages/teoria.htm

2.3 FORMA TABULAR DEL METODO SIMPLEX

Con miras a conocer la metodología que se aplica en el Método SIMPLEX,


vamos a resolver el siguiente problema:

Z= f(x,y)= 3x +
Maximizar
2y
sujeto a: 2x + y 18
2x + 3y 42
3x + y 24
x 0,y 0

Se consideran las siguientes fases:

19
1. Convertir las desigualdades en igualdades

Se introduce una variable de holgura por cada una de las restricciones, para
convertirlas en igualdades, resultando el sistema de ecuaciones lineales:

2x + y + h = 18
2x + 3y + s =
42
3x +y + d = 24

2. Igualar la función objetivo a cero

- 3x - 2y + Z = 0

3. Escribir la tabla inicial simplex

En las columnas aparecerán todas las variables del problema y, en las filas, los
coeficientes de las igualdades obtenidas, una fila para cada restricción y la
última fila con los coeficientes de la función objetivo:

Tabla I . Iteración nº 1
Base Variable de decisión Variable de holgura Valores solución
x y h s d
h 2 1 1 0 0 18
s 2 3 0 1 0 42
d 3 1 0 0 1 24
Z -3 -2 0 0 0 0

4. Encontrar la variable de decisión que entra en la base y la variable de


holgura que sale de la base

A. Para escoger la variable de decisión que entra en la base, nos fijamos


en la última fila, la de los coeficientes de la función objetivo y escogemos
la variable con el coeficiente negativo mayor (en valor absoluto).
En nuestro caso, la variable x de coeficiente - 3.

Si existiesen dos o más coeficientes iguales que cumplan la condición


anterior, entonces se elige uno cualquiera de ellos.

Si en la última fila no existiese ningún coeficiente negativo, significa que


se ha alcanzado la solución óptima. Por tanto, lo que va a determinar el
final del proceso de aplicación del método del simplex, es que en la
última fila no haya elementos negativos.

La columna de la variable que entra en la base se llama columna pivote


(En color azulado).

20
B. Para encontrar la variable de holgura que tiene que salir de la base, se
divide cada término de la última columna (valores solución) por el
término correspondiente de la columna pivote, siempre que estos últimos
sean mayores que cero. En nuestro caso:
18/2 [=9] , 42/2 [=21] y 24/3 [=8]

Si hubiese algún elemento menor o igual que cero no se hace dicho


cociente. En el caso de que todos los elementos fuesen menores o
iguales a cero, entonces tendríamos una solución no acotada y no se
puede seguir.

El término de la columna pivote que en la división anterior dé lugar al


menor cociente positivo, el 3, ya 8 es el menor, indica la fila de la
variable de holgura que sale de la base, d. Esta fila se llama fila pivote
(En color azulado).

Si al calcular los cocientes, dos o más son iguales, indica que cualquiera
de las variables correspondientes pueden salir de la base.

C. En la intersección de la fila pivote y columna pivote tenemos el elemento


pivote operacional, 3.

5. Encontrar los coeficientes de la nueva tabla.

Los nuevos coeficientes de x se obtienen dividiendo todos los coeficientes de la


fila d por el pivote operacional, 3, que es el que hay que convertir en 1.

A continuación mediante la reducción gaussiana hacemos ceros los restantes


términos de su columna, con lo que obtenemos los nuevos coeficientes de las
otras filas incluyendo los de la función objetivo Z.

También se puede hacer utilizando el siguiente esquema:

Fila del pivote:

Nueva fila del pivote= (Vieja fila del pivote) : (Pivote)

Resto de las filas:

Nueva fila= (Vieja fila) - (Coeficiente de la vieja fila en la columna de la


variable entrante) X (Nueva fila del pivote)

Veámoslo con un ejemplo una vez calculada la fila del pivote (fila de x en la
Tabla II):

Vieja fila de s 2 3 0 1 0 42
- - - - - -
Coeficiente 2 2 2 2 2 2
x x x x x x

21
Nueva fila pivote 1 1/3 0 0 1/3 8
= = = = = =
Nueva fila de s 0 7/3 0 1 -2/3 26

Tabla II . Iteración nº 2
Base Variable de decisión Variable de holgura Valores solución
x y h s d
h 0 1/3 1 0 -2/3 2
s 0 7/3 0 1 -2/3 26
x 1 1/3 0 0 1/3 8
Z 0 -1 0 0 1 24

Como en los elementos de la última fila hay uno negativo, -1, significa que no
hemos llegado todavía a la solución óptima. Hay que repetir el proceso:

A. La variable que entra en la base es y, por ser la variable que


corresponde al coeficiente -1
B. Para calcular la variable que sale, dividimos los términos de la última
columna entre los términos correspondientes de la nueva columna
pivote:
2:1/3 [=6] , 26:7/3 [=78/7] y 8:1/3 [=8]
y como el menor cociente positivo es 6, tenemos que la variable de
holgura que sale es h.
C. El elemento pivote, que ahora hay que hacer 1, es 1/3.

Operando de forma análoga a la anterior obtenemos la tabla:

Tabla III . Iteración nº 3


Base Variable de decisión Variable de holgura Valores solución
x y h s d
y 0 1 3 0 -2 6
s 0 0 -7 0 4 12
x 1 0 -1 0 1 6
Z 0 0 3 0 -1 30

Como en los elementos de la última fila hay uno negativo, -1, significa que no
hemos llegado todavía a la solución óptima. Hay que repetir el proceso:

22
A. La variable que entra en la base es d, por ser la variable que
corresponde al coeficiente -1
B. Para calcular la variable que sale, dividimos los términos de la última
columna entre los términos correspondientes de la nueva columna
pivote: 6/(-2) [=-3] , 12/4 [=3], y 6:1 [=6]
y como el menor cociente positivo es 3, tenemos que la variable de
holgura que sale es s.
C. El elemento pivote, que ahora hay que hacer 1, es 4.

Obtenemos la tabla:

Tabla IV . Final del proceso


Base Variable de decisión Variable de holgura Valores solución
x y h s d
y 0 1 -1/2 0 0 12
d 0 0 -7/4 0 1 3
x 1 0 -3/4 0 0 3
Z 0 0 5/4 0 0 33

Como todos los coeficientes de la fila de la función objetivo son positivos,


hemos llegado a la solución óptima.

Los solución óptima viene dada por el valor de Z en la columna de los valores
solución, en nuestro caso: 33. En la misma columna se puede observar el
vértice donde se alcanza, observando las filas correspondientes a las variables
de decisión que han entrado en la base: D(3,12)

2.4 EL METODO DE LAS DOS FASES

Método de las Dos Fases

Éste método difiere del Simplex en que primero hay que resolver un
problema auxiliar que trata de minimizar la suma de las variables
artificiales. Una vez resuelto este primer problema y reorganizar la tabla
final, pasamos a la segunda fase, que consiste en realizar el método
Simplex normal.

FASE 1

En esta primera fase, se realiza todo de igual manera que en el


método Simplex normal, excepto la construcción de la primera tabla, la
condición de parada y la preparación de la tabla que pasará a la fase 2.

- Construcción de la primera tabla: Se hace de la misma forma


que la tabla inicial del método Simplex, pero con algunas diferencias. La
fila de la función objetivo cambia para la primera fase, ya que cambia la

23
función objetivo, por lo tanto aparecerán todos los términos a cero
excepto aquellos que sean variables artificiales, que tendrán valor "-1"
debido a que se está minimizando la suma de dichas variables (recuerde
que minimizar F es igual que maximizar F·(-1)).

La otra diferencia para la primera tabla radica en la forma de


calcular la fila Z. Ahora tendremos que hacer el cálculo de la siguiente
forma: Se sumarán los productos C b·Pj para todas las filas y al resultado
se le restará el valor que aparezca (según la columna que se éste
haciendo) en la fila de la función objetivo.

Tabla
C0 C1 C2 ... Cn-k ... Cn
Base Cb P0 P1 P2 ... Pn-k ... Pn
Pi1 Ci1 bi1 a11 a12 ... a1n-k ... a1n
Pi2 Ci2 bi2 a21 a22 ... a2n-k ... a2n
... ... ... ... ... ... ... ... ...
Pim Cim bim am1 am2 ... amn-k ... amn
Z Z0 Z1 Z2 ... Z2 ... Zn

Siendo Zj = Σ(Cb·Pj) - Cj y los Cj = 0 para todo j comprendido entre


0 y n-k (variables de decisión, holgura y exceso), y C j = -1 para todo j
comprendido entre n-k y n (variables artificiales).

- Condición de parada: La condición de parada es la misma que en


el método Simplex normal. La diferencia estriba en que pueden ocurrir
dos casos cuando se produce la parada: la función toma un valor 0, que
significa que el problema original tiene solución, o que tome un valor
distinto, indicando que nuestro modelo no tiene solución.

- Eliminar Columna de variables artificiales: Si hemos llegado a


la conclusión de que el problema original tiene solución, debemos
preparar nuestra tabla para la segunda fase. Deberemos eliminar las
columnas de las variables artificiales, modificar la fila de la función
objetivo por la original, y calcular la fila Z de la misma forma que en la
primera tabla de la fase 1.

IDENTIFICANDO CASOS ANÓMALOS Y SOLUCIONES

Obtención de la solución: Cuando se ha dado la condición de


parada, obtenemos el valor de las variables básicas que están en la base

24
y el valor óptimo que toma la función que están en la base mirando la
columna P0. En el caso de que estemos minimizando, se multiplicará por
"-1" el valor óptimo.

Infinitas soluciones: Cumplida la condición de parada, si se


observa que alguna variable que no está en la base, tiene un 0 en la fila
Z, quiere decir que existe otra solución que da el mismo valor óptimo
para la función objetivo. Si estamos ante este caso, estamos ante un
problema que admite infinitas soluciones, todas ellas comprendidas
dentro del segmento (o porción del plano, o región del espacio,
dependiendo del número de variables del problema) que define
Ax+By=Z0. Si se desea se puede hacer otra iteración haciendo entrar en
la base a la variable que tiene el 0 en la fila Z, y se obtendrá otra
solución.

Solución ilimitada: Si al intentar buscar la variable que debe


abandonar la base, nos encontramos que toda la columna de la variable
entrante tiene todos sus elementos negativos o nulos, estamos ante un
problema que tiene solución ilimitada. No hay valor óptimo concreto, ya
que al aumentar el valor de las variables se aumenta el valor de la
función objetivo, y no viola ninguna restricción.

No existe solución: En el caso de que no exista solución, seguro


que tendremos que realizar las dos fases, por lo que al término de la
primera sabremos si estamos en tal situación.

Empate de variable entrante: Se puede optar por cualquiera de


ellas, sin que afecte a la solución final, el inconveniente que presenta es
que según por cual se opte se harán más o menos iteraciones. Se
aconseja que se opte a favor de las variables básicas, ya que son
aquellas las que quedarán en la base cuando se alcance la solución con
estos métodos.

Empate de variable saliente: Se puede nuevamente optar por


cualquiera de ellas, aunque se puede dar el caso degenerado y entrar en
ciclos perpetuos. Para evitarlos en la medida de lo posible,
discriminaremos a favor de las variables básicas haciendo que se queden
en la base. Ante el caso de estar en la primera fase (del método de las
Dos Fases), se optará por sacar en caso de empate las variables
artificiales.

Curiosidad Fase 1: Al finalizar la fase 1, si el problema original


tiene solución, todas las variables artificiales, en la fila Z deben tener el
valor "1".

¿Pivote puede ser 0?: No, ya que siempre se realizan los cocientes
entre valores no negativos y mayores que cero.

25
2.5 EL METODO SIMPLEX REVISADO.

El método simplex revisado. El método simplex original es un procedimiento


algebraico directo.
Sin embargo, durante su cálculo utiliza muchos valores los cuales finalmente
no son relevantes en la toma de decisiones. El método simplex revisado utiliza
únicamente: • Los coeficientes de las V.N.B en el renglón (0). • Los coeficientes
de la variable básica entrante en las restricciones. • Los coeficientes de las V.B
actuales en las restricciones. • El lado derecho de las ecuaciones.
El método simplex revisado utiliza una notación de forma matricial para hallar la
solución al problema.
Max Z = c x
Sujeto a
Ax£b
x³0

Veremos que no es necesario tener toda la tabla del Simplex en cada iteración. Alcanza con
conocer el inverso de la base y los multiplicadores del Simplex para la base actual.
Desde luego, también necesitamos los datos originales del problema.

En lugar de mantener toda la tabla, tendremos:

- Los costos reducidos de las variables no básicas. Que calcularemos como


.

- La columna actualizada para la variable que entra a la base. Esta columna se calcula como
.

- El lado derecho actualizado , que se calcula como .

Entonces, lo único que debemos actualizar entre dos iteraciones es y (que es, en
realidad, ).

Para entender su funcionamiento, consideremos la siguiente tabla:

B N 0 b I
1 0 0
que es la tabla del simplex salvo por el último grupo de columnas.

26
Realizando las mismas operaciones sobre esta tabla, que sobre la tabla del método Simplex,
obtenemos:

I 0
0 1

Notamos lo siguiente:

 la parte extra de esta tabla contiene y .

 la columna se actualiza con las mismas operaciones que .

Dada la columna actualizada para la variable que entra a la base, y siendo la

variable que sale de la base, podemos actualizar , , y con el siguiente


procedimiento:

- Construir la mini tabla del Simplex Revisado:

- Pivotear sobre , para que se transforme en . La nueva tabla es:

donde el índice significa el valor actual en la nueva base.

ESQUEMA DEL MÉTODO SIMPLEX REVISADO

1. Dados , , y para la base factible actual.


2. Determinar
a. , solución básica actual es óptima, STOP.
b. algún k, entra a la base.
3. Calcular la columna actualizada: .
Si el problema no tiene solución acotada, STOP.

Si no, determinar de

sale de la base.

27
4. Actualizar , , y de acuerdo a la nueva base, pivoteando sobre el
elemento en la mini tabla del Simplex Revisado.
5. Poner , volver a 2.

2.6 CASOS ESPECIALES.


El Método simplex es un procedimiento iterativo que permite ir mejorando la
solución a cada paso. El proceso concluye cuando no es posible seguir
mejorando más dicha solución o cuando esta es óptima. Este método, permite
analizar cada variable del problema planteado, sus variaciones, para
determinar cual es la decisión más acertada a tomar en cualquiera que sea el
área de la empresa sobre la cual se presente la incertidumbre. Existen casos
especiales de solución de problemas por medio del simplex, tales como:

• Soluciones Múltiples • Solución Degenerada • Solución Infactible • Sin


Solución

A continuación se presenta un análisis detallado de cada caso especial de


solución con un ejemplo práctico.

CASO DE SOLUCIONES MÚLTIPLES

Cuando la función objetivo es paralela a una restricción que se satisface en el


sentido de la igualdad a través de la solución óptima, la función objetivo tomará
el mismo valor óptimo en más de un punto de la solución. Por esta razón
reciben el nombre de Múltiples alternativas óptimas.

CASO DE SOLUCIÓN DEGENERADA

La degeneración ocurre cuando en alguna iteración del método simplex existe


un empate en la selección de la variable que sale. Este empate se rompe
arbitrariamente. En este caso decimos que la nueva solución es degenerada.
Sin embargo, cuando suceda esto una o más veces de las variables básicas,
será necesariamente igual a cero en la siguiente iteración. En el método
simplex, la presencia de una variable básica igual a cero, no requiere ninguna
acción especial; en todo caso, es necesario no descuidar las condiciones de
degeneración. En términos geométricos, la degeneración ocurre cuando un
vértice está definido por demasiadas restricciones.

28
CASO DE SOLUCIÓN INFACTIBLE

En un modelo de Programación Lineal, cuando las restricciones no se pueden


satisfacer en forma simultánea, se dice que este no tiene solución factible. Esta
situación nunca puede ocurrir si todas las restricciones son del tipo MENOR O
IGUAL ( ), esto, suponiendo valores positivos en el segundo miembro, ya que
las variables de holgura producen siempre una solución factible.

Sin embargo, cuando empleamos los otros tipos de restricciones, recurrimos al


uso de variables artificiales, que por su mismo diseño no ofrecen una solución
factible al modelo original. Aunque se hacen provisiones (a través del uso de
penalizaciones) para hacer que estas variables artificiales sean cero en el nivel
óptimo, esto sólo puede ocurrir si el modelo tiene una espacio factible. Si no lo
tiene, cuando menos una variable artificial será positiva en la iteración óptima.

Desde el punto de vista práctico, un espacio infactible, apunta a la posibilidad


de que el modelo no se haya formulado correctamente, en virtud de que las
restricciones estén en conflicto. También es posible que las restricciones no
estén destinadas a cumplirse en forma simultánea. En este caso, quizás se
necesite una estructura del modelo totalmente diferente que no admita todas
las restricciones al mismo tiempo.

CASO DE NO SOLUCIÓN

En algunos modelos de Programación Lineal, los valores de las variables, se


pueden aumentar en forma indefinida sin violar ninguna de las restricciones, lo
que significa que el espacio es sin solución cuando menos en una dirección.

Como resultado, el valor de la función objetivo puede crecer (Maximización) o


decrecer (Minimización) en forma indefinida. En este caso, decimos que el
espacio en el cual se espera sea resuelto el modelo, y el valor óptimo de la
función objetivo no tiene solución.

La falta de explicación de un modelo puede señalar solo una cosa, que este se
encuentra mal construido. Evidentemente resulta irracional hacer que un
modelo produzca una ganancia infinita. Las irregularidades más probables en
este modelo son:

1. No se toman en cuenta una o más restricciones redundantes 2. No se


determinan adecuadamente los parámetros (constantes) de alguna restricción.

29
III TEORIA DE LA DUALIDAD Y ANALISIS DE SENSIBILIDAD.

El dual es un problema de PL que se obtiene matemáticamente de un modelo


primal de PL dado. Los problemas dual y primal están relacionados a tal grado,
que la solución símplex óptima de cualquiera de los dos problemas conduce en
forma automática a la solución óptima del otro.

El método símplex además de resolver un problema de PL llegando a una


solución óptima nos ofrece más y mejores elementos para la toma de
decisiones. La dualidad y el análisis de sensibilidad son potencialidades de
éste método.

En la mayoría de los procedimiento de PL, el dual se define para varias formas


del primal, dependiendo de los tipos de restricciones, de los signos de las
variables y del sentido de la optimización. La experiencia nos indica que en
ocasiones, los principiantes se confunden con los detalles de esas definiciones.
Más importante aún es que el uso de esas definiciones múltiples puede
conducir a interpretaciones inconsistentes de los datos en la tabla símplex,
sobre todo en lo que respecta a los signos de las variables.

El concepto de dualidad indica que para cada problema de PL hay una

asociación y una relación muy importante con otro problema de programación

lineal, llamado precisamente dual.

 La relación entre el problema dual y su asociado, es decir el problema


original llamado primal, presenta varias utilidades:

 Aporta elementos que aumentan sustancialmente la compresión de la PL.

 El análisis de dualidad es una herramienta útil en la solución de problemas


de PL, por ejemplo: más restricciones que variables.

 El problema dual tiene interpretaciones e informaciones importantes que


muestran que los análisis marginales están siempre involucrados
implícitamente al buscar la solución óptima a un problema de PL.

La forma estándar general del primal se defina como; para maximizar o


minimizar.

sujeto a;

¿Cómo convertir un problema primal a dual?

Un problema dual se formula de un problema primal de la siguiente forma:

30
1. Si el primal es un problema de maximización su dual será un problema
de minimización y viceversa.
2. Los coeficientes de la función objetivo del problema primal se convierten
en los coeficientes del vector de la disponibilidad en el problema dual.
3. Los coeficientes del vector de disponibilidad del problema original se
convierten en los coeficientes de la función objetivo (vector de costo o
precio) en el problema dual.
4. Los coeficientes de las restricciones en el problema primal, será la
matriz de los coeficientes tecnológicos en el dual.
5. Los signos de desigualdad del problema dual son contrarios a los del
primal.
6. Cada restricción en un problema corresponde a una variable en el otro
problema. Si el primal tiene m restricciones y n variables, el dual tendrá
n restricciones y m variables. Así, las variables Xn del primal se
convierte en nuevas variables Ym en el dual.

PROBLEMA PRIMAL EN FORMA PROBLEMA DUAL EN FORMA


CANONICA: CANONICA:

MAX Z= CX MIN Z= BY

Sujeto a: Sujeto a:

AX  b AY  C

X0 Y0

Ejemplo.

Si el problema primal es: MAX Z= 45X1 + 17X2 + 55X3

Sujeto a:

X1 + X2 + X3  200

9X1 + 8X2 + 10X3  5000

10X1+ 7X2 + 21 X3  4000

Xj  0

El problema dual será:

MIN Z= 200Y1 + 5000Y2 + 4000Y3

Sujeto a:

Y1 + 9Y2 + 10Y3  45

31
Y1 + 8Y2 + 7Y3  17

Y1 + 10Y2 + 21Y3  55

Yj  0

3.1. FORMULACION DEL PROBLEMA DUAL

FORMA DE PRESENTAR EL PROBLEMA DUAL

MIN = 2X1 - 3X2

Sujeto a:

1X1 + 2X2  12

4X1 - 2X2  3

6X1 - 1X2 = 10

X1,2  0

1. Llevar el problema a su equivalente de maximización, multiplicando la


función objetivo por –1:

MAX -2X1 + 3X2

2. Convertir las restricciones  en una restricción equivalente 


multiplicando por –1 ambos lados:

-4x1 + 2x2  -3

3. Para las restricciones de igualdad, obtener 2 restricciones de


desigualdad, una de forma  y la otra de forma ; después regresar al
punto anterior y cambiar la restricción  a la forma :

6X1 – 1X2  10

6X1 – 1X2  10

6X1 – 1X2  10

-6X1 + 1X2  -10

Así el problema primal se ha replanteado en la forma equivalente:

MAX Z= -2X1 + 3X2

Sujeto a:

32
1X1 + 2X2  12

-4X1 + 2X2  - 3

6X1 – 1X2  10

-6X1 + 1X2  -10

X1,2  0

4. Teniendo el problema primal convertido a la forma canónica de un


problema de maximización, es fácil llevarlo al problema dual:

MIN 12Y1 – 3Y2 + 10Y3

Sujeto a:
Y1–4Y2 + 6Y3’–6Y3’’ -2 Y’3 y Y’’3 ambas se refieren a la tercera
restricción

2Y1 + 2Y2 – 1Y3’ + 1Y3’’  3 del problema primal.

Y1, 2, 3’, 3’’  0

3.2. RELACION PRIMAL DUAL

33
34
35
3.3. INTERPRETACION ECONOMICA DEL DUAL

Interpretación económica del problema dual.

Precio Sombra.- Se define como la proporción con que mejora el valor de la


función objetivo a partir de la i - ésima restricción, dependiendo si se trata de
maximización tiende a aumentar y a disminuir cuando es de minimización. La
interpretación económica de la dualidad se basa directamente en la
interpretación más frecuente del problema primal ( 16 ). Interpretación del
problema dual. Para ver cómo la interpretación del problema primal conduce a
una interpretación económica del problema dual. Notese el valor de Z como: Z
= W1b1 + W2b2 + W3b3 + … + Wmbm donde cada bi Wi puede interpretarse
como la contribución a la ganancia por disponer de bi unidades del recurso i.
Wi se interpreta como la contribución a la ganancia por unidad del recurso i ( i
= 1 , 2, . . . , m), cuando se usa el conjunto actual de variables básicas para
obtener la solución primal.

36
ujeto a: unidades del m recurso i-ésimo Valor nitario
Ganancia asignada j = 1,…, n Suma utlizados por * del recurso
= a cada unidad de i =1 unidad de la i-ésimo
la actividad j-ésima actividad j-ésima
Valor unitario i - 1, …, m * del recurso >= 0 i- ésimo

La asignación de probabilidades a los eventos es una tarea difícil que muchos gerentes
pueden mostrarse difícil a hacer, por lo menos con cierto grado de exactitud. En algunos
casos prefieren decir “creo que la probabilidad de que este evento ocurra está entre 0.5 y
0.7”. Bajo estas circunstancias, como en cualquier aspecto de decisión gerencial, es útil
realizar un análisis de sensibilidad para determinar cómo afecta a la decisión la
asignación de probabilidades.

El análisis de sensibilidad concierne el estudio de posibles cambios en la solución


óptima disponible como resultado de hacer cambios en el modelo original.

Definiciones generales del Análisis de sensibilidad

Efecto neto.- Es la ganancia o pérdida por unidad adicional de una variable que entra a
la base. El efecto neto de una variable básica siempre será cero.

f j = efecto neto

Ejemplo: Realizar un análisis de sensibilidad para el siguiente modelo.

Maximizar: Xo = 10X1 + 15X2 + 4X3 + 2X4

sujeto a: 10X1 + 20X2 + 2X3 + 3X4 <= 4,000


5X1 + 5X2 + 5X3 + 4X4 <= 1500
4X1 + 2X2 + 6X3 + 6X4 <= 800
" X1, X2, X3, X4 >= 0

Solución óptima del problema.

Base Xo X1 X2 X3 X4 X5 X6
X7 Sol.
Xo 1 0 0 7/3 5 2/3 0
5/6 3,333.33
X2 0 0 1 -13/5 -12/15 1/15 0
-1/6 400/3
X6 0 0 0 -1/3 -3/2 -1/6 1
-5/6 500/3
X1 0 1 0 29/15 19/10 -1/30 0
1/3 400/3

37
Cambios en los coeficientes de la función objetivo.

El cambio en el Cj de una variable se interpretaría, por ejemplo, como en incremento en


el precio de un producto para un objetivo de maximización, o como la disminución en el
costo de una materia prima para un objetivo de minimización.
Finalmente, se estudiará por separado si la modificación en el Cj es para una variable
no-básica o para una básica, ya que las consecuencias en cada caso son muy diferentes.

Cambios en el coeficiente Objetivo de una variable No-básica.

Es importante mencionar que una variación de Cj a Cj’ en el coeficiente objetivo de una


variable no-básica, no necesariamente conlleva a una infracción de la inmejorabilidad
de la solución óptima actual, aunque en ciertas ocaciones si lo haga. Por este motivo, se
considerarán a continuación dos alternativas de cambio mutuamente exclusivas en el Cj
de una variable no-básica.

(1) cuando Cj’ < Cj (maximización)


en la solución óptima actual
f j = Cj - Zj <= 0 ==> f j = Cj’ - Zj < 0
Con lo cual la inmejorabilidad no se infringe. En consecuencia, se deduce que cuando el
Cj’ < Cj en un problema de maximización, la solución óptima actual no se alterara, lo
mismo en minimización con Cj’ > Cj.

(2) cuando Cj’ > Cj (maximización)

Es claro que solamente cuando el precio de la utilidad de una variable no-básica se


incrementa, Cj’ > Cj, en un problema de maximización, surge la posibilidad de que se
altere la inmejorabilidad y por ende la optimidad actual.

fj = Cj - Zj <= 0 ==> Cj’ <= Cj -fj


o alternativamente, cuando Cj’ <= Cj + I fj I

Es decir, si el nuevo Cj satisface la desigualdad, la actual solución permanece óptima;


de lo contrario, debe calcularse el f j’ el cual será positivo, e introducirse Xj a la base
para encontrar la nueva solución óptima.

Ejemplo: Cambio en el Cj de una variable no - básica.

Para el problema dado.


a) determinar los rangos de variación en la utilidad unitaria de las variables no-básicas ,
tal que la solución óptima no se altere.

b) Evaluar los efectos de un incremento en la utilidad unitaria del producto 3 de $4 a


$5.

c) Evaluar el efecto de de un aumento en la utilidad actual del producto 4 de $2 a $8.

a) Cj’ <=Cj + I fi j I
C3’ <= 4 + I -7/3I <= 19/3

38
C4’ <=2 + I -5I <= 7
C5’ <= 0 + I -2/3I <= 2/3
C7’ <= 0 + I -5/6I = 5/6

b) Dado C3’ = 5 = 15/3 satisface el límite máximo de 19/3, por lo tanto, el incremento
no modifica la solución óptima actual.

C) Ya C4’ = 8 sobrepasa el límite de incremento en C4, la solución óptima actual


cambiará. El nuevo f4 es

f4’ = C4’ - Z4 = 8 -7 = 1

y al ser positivo, X4 debe entrar a la base.

Base Xo X1 X2 X3 X4 S1 S2
S3 Sol.
Xo 1 0 0 7/3 -1 2/3 0 5/6
3,333.33
X2 0 0 1 -13/15 -12/15 1/15 0
-1/6 400/3 ------
X6 0 0 0 -1/3 -3/2 -1/6 1
-5/6 500/3 ------
X1 0 1 0 29/15 19/10 -1/30 0
1/3 400/3 4000/57

3.4. CONDICIONES KHUN-TUCKER.


Condiciones de Karush Kuhn Tucker
Proposici´on 9 Sup´ongase que f(x), gj(x) con j = 1, ...,m, son funciones
diferenciables que satisfacen ciertas condiciones de regularidad.
Entonces, ¯x puede ser una soluci´on ´optima para el problema de programaci
´on no-lineal, s´olo si existen m n´umeros μ1, ..., μm que satisfagan
todas las condiciones necesarias siguientes:

39
Comentarios acerca de KKT
• Las condiciones de optimalidad de Karush-Kuhn-Tucker son
condiciones necesarias y s´olo garantizar´ıan optimalidad global si
se cumplen adicionalmente otras condiciones de convexidad.
Corolario 10 Sup´ongase que f(x) es una funci´on convexa y
diferenciable, y que g1(x), g2(x), ..., gm(x) tambi´en lo son en
donde todas estas funciones satisfacen las condiciones de
regularidad. Entonces ¯x = (¯x1, ..., ¯xn) es una soluci´on ´optima
si y s´olo si se satisfacen todas las condiciones del teorema. • El m
´etodo identifica puntos ´optimos locales que cumplan condiciones
de regularidad • Los gradientes de las restricciones activas en el
punto deben ser linealmente independientes.

Condiciones de Regularidad del Dominio


• Ciertas condiciones garantizan regularidad en todo el dominio:
Proposici´on 11 (Slater) Las condiciones de regularidad de Slater
establecen que si hay un dominio D = {x : gj(x) $ 0} con gj(x)
funciones convexas, y existe un punto ¯x & D tal que gj(¯x) < 0 "j =
1, . . . ,m,entonces todo punto x & D es regular. Proposici´on 12
(Slater-Usawa) Las condiciones de regularidad de Slater- Usawa
establecen que si hay un dominio D = {x : gj(x) $ 0} con gj(x)
funciones convexas, y existe un punto ¯x & D tal que gj(¯x) < 0
para toda restricci´on no lineal, y gj(¯x) $ 0 para toda restricci´on
lineal, entonces todo punto x & D es regular. Corolario 13 En
problemas lineales basta que haya un punto factible para decir
que su dominio es regular.

40
41
3.5. DUAL SIMPLEX

EL MÉTODO DUAL SIMPLEX


Como sabemos, el método simplex es un algoritmo iterativo que iniciando en una
solución básica factible pero no óptima, genera soluciones básicas factibles cada vez
mejores hasta encontrar la solución óptima (sí esta existe). Nótese que la base de su
lógica es mantener la factibilidad, mientras busca la optimalidad. Pero surge la
posibilidad de usar otro esquema igualmente iterativo, que como contraparte del
simplex, comienza en una solución básica óptima, pero no factible y mantiene la
inmejorabilidad mientras busca la factibilidad. Con este procedimiento se llega
igualmente a la solución óptima.

El nuevo algoritmo fue desarrollo en 1954 por C. E. Lemke y se conoce con el nombre
de Método Dual-Simplex. A continuación se presenta su estructura y un ejemplo para
ilustrar su aplicación.

Algoritmo Dual-Simplex para un modelo de


maximización
Introducción

Primero se debe expresar el modelo en formato estándar, agregando las variables de


holgura y de exceso que se requieran.
Enseguida, en las ecuaciones que tengan variables de exceso (resultantes de
restricciones de tipo >), se debe multiplicar por (-1) en ambos lados , para hacer positivo
el coeficiente de la variable de exceso, y formar así un vector unitario que nos permita
tomar esta variable de exceso como una variable básica inicial. sin necesidad de agregar
una variable artificial en esa restricción.

42
Al hacer lo anterior se logra que debajo de las variables básicas aparezca una matriz
identidad, que es la que el simplex siempre toma como base inicial.

Obtendremos que los términos del lado derecho de las ecuaciones multiplicadas por (-1)
quedan con signo negativo, lo cual hace que la solución inicial sea infactible.

Es importante destacar que este proceso es muy útil ya que en muchos modelos evita la
inclusión de variables artificiales en el momento de transformar un modelo a formato
estándar.

El algoritmo para resolver un modelo de maximización es el siguiente:

Paso 1: Hallar una solución básica inicial infactible e inmejorable

Escribir el tablero inicial tomando a las variables de holgura y de exceso como variables

básicas iniciales

Paso 2: Prueba de factibilidad

a. Si todas las variables básicas son no negatívas, la actual solución es la óptima.


b. Si hay al menos una variable básica negativa, seleccionar como variable de
salida,
( llamémosla (XB)s ), a aquella con el valor mas negativo. Los empates se
pueden
romper arbitrariamente.

Paso 3: Prueba de inmejorabilidad

a. Sí en el renglón de la variable básica de salida (XB)s todos los coeficientes de


reemplazo con las variables no básicas son no negativos, la solución del modelo
es óptima ¡limitada. Se termina el proceso.

Si en el renglón de la variable básica de salida (XB)s, hay al menos un


coeficiente de intercambio negativo , se efectúan los cocientes entre el efecto
neto de cada variable no básicas y su correspondientel coeficiente de
intercambio negativo.

Es decir, siendo (XB)s la variable de salida se calculan todos los cocientes

Se toma como variable de entrada ( llamémosla Xe ) a aquella que corresponda al


mínimo de los cocientes del anterior conjunto

43
Si la variable de entrada es Xe el elemento pivote será el elemento (Se)s

El empate se puede romper arbitrariamente.

b. Aplicar la operación de pivoteo para generar la nueva tabla, en la cual aparezca


Xe como variable básica en lugar de la variable de salida (XB)s

c. Repetir el algoritmo a partir del paso 2.

Ejemplo de aplicación del Método Dual Simplex


Sea el siguiente modelo:

Z=
Maximizar -2X1 -2X2 -3X3

Sujeto a : 2X1 +4X2 +2X3 > 10

3X1 -3X2 +9X3 = 12

con X1, X2, X3 > 0

Expresemos el modelo en formato estándar

Z=
Maximizar -2X1 -2X2 -3X3

Sujeto a : 2X1 +4X2 +2X3 -IE1 = 10

3X1 -3X2 +9X3 -IE2 = 12

multipliquemos por (-1) en ambos lados de las ecuaciones, para formar los vectores
unitarios, requeridos para contar con una base inicial unitaria.

Z=
Maximizar -2X1 -2X2 -3X3

Sujeto a : -2X1 -4X2 -2X3 +IE1 = -10

-3X1 +3X2 -9X3 +IE2 = -12

paso 1.

Tomando las variables básicas iniciales hacemos lo siguiente:

Cj -2 -2 -3 0 0 XB

44
CB X1 X2 X3 E1 E2 Solución Básicas
0 -2 -4 -2 1 0 -10 E1
0 -3 3 -9 0 1 -12 E2
Zj 0 0 0 0 0 0
Ej -2 -2 -3 0 0 0Z

Paso 2

Sale E2 = (XB)2 o sea s = 2

Paso 3

a. Calculando los cocientes para todo (Sj)2 < 0 obtenemos:

o sea que X3 es la variable de entrada( entonces e = 3) y el elemento pivote es el (Se)s =


(S3)2 = -9

b. Efectuando el pivoteo obtenemos la tabla siguiente:

Tabla 1 (maximizar)
Cj -2 -2 -3 0 0 XB
CB X1 X2 X3 E1 E2 Solución Básicas
-
0 -4/3 0 1 -2/9 -22/3 E1
14/3
-3 -1/3 -1/3 1 0 -1/9 4/3 X3
Zj -1 1 -3 0 1/3
Ej -1 -3 0 0 -1/3 -4 Z

c. Repitiendo el algoritmo desde el paso 1, obtenemos:

sale E1 = (XB)1 y entra X2 por lo cual obtenemos la siguiente tabla

Tabla 2
Cj -2 -2 -3 0 0 XB
CB X1 X2 X3 E1 E2 Solución Básicas
-
-2 2/7 1 0 1/21 11/7 X2
3/14
- -
-3 3/7 0 1 13/7 X3
1/14 2/21
- -
Zj 1 -3 4/21
13/7 9/14
Ej -1/7 0 0 - - -61/7 Z

45
9/14 4/21

Como se observa, ahora estamos en el óptimo.


En definitiva:

X2* = 11/7
X3* = 13/7
Z* = - 61/7

Otro ejemplo:

Resolver el siguiente modelo usando el método Dual-Simplex

Z=
Minimizar 2X1 + 2X2

Sujeto a : 3X1 +X2 > 10

4X1 +3X2 > 12


<
X1 +2X

con X1, X2 > 0

Expresando el modelo en formato estándar y ajustándolo para que las variables básicas
sean las variables de holgura tenemos:

Z=
Minimizar 2X1 + 2X2

Sujeto a : -3X1 -X2 +IE1 = -3

-4X1 -3X2 +IE2 = -6

X1 +2X +IE3 = 3

Usando el método Dual Simplex obtenemos, sucesivamente:

Tabla 0
X1 X2 E1 E2 H3 Solución
Basicas
-3 -1 1 0 0 -3
E1
-4 -3 0 1 0 -6
E2
1 2 0 0 1 3
H3

46
2 1 0 0 0 0
Ej

Sale E2

Entonces los cocientes son

Nota: Obsérvese que cuando el objetivo es minimizar, se toma el valor absoluto de los
cocientes.

Tabla 1
X1 X2 E1 E2 H3 Solución
Basicas
-5/3 0 1 -1/3 0 -1
E1
4/3 1 0 -1/3 0 2
E2
-5/3 0 0 2/3 1 -1
H3
2 0 0 1/3 0 2
Ej

Sale H1
Los cocientes son:

Tabla 2 (óptima)
X1 X2 E1 E2 H3 Solución
Basicas
1 0 -3/5 1/5 0 3/5
E1
0 1 4/5 -3/5 0 6/5
E2
0 0 -1 1 1 0
H3

47
0 0 2/5 1/5 0 12/5
Ej

La solución óptima es X1 = 3/5, X2 = 6/5 ; Z = 12/5

En la gráfica observamos el camino que realmente siguió el algoritmo para pasar de la


solución infactible con valor Z= 0 a la solución factible óptima con valor Z = 12/5.

La aplicación del método simplex dual es especialmente útil en el análisis de


sensibilidad. Se usa cuando después de haber obtenido la solución óptima, se desea
agregar una nueva restricción al modelo si la nueva restricción no se cumple.

En este caso se obtiene que para los valores óptimos de las variables de decisión, la
solución permanece óptima pero se convierte en infactible. Surge entonces la necesidad
de aplicar el algoritmo Dual-Simplex para extraer la variable básica que tiene valor
infactible. Cuando estudiemos el tema de análisis de sensibilidad analizaremos un caso
como el citado.

http://docencia.udea.edu.co/ingenieria/plineal/dualidad10.ht
m

3.6. CAMBIOS EN EL VECTOR COSTOS

48
3.7. CAMBIOS EN LOS Bi DE LAS RESTRICCIONES

La generación automática de código es ya un viejo sueño (ver por ejemplo [1]),


al que la MDA [2] (Model-Driven Architecture) y, en general, el MDD (Model-
Driven Development) han dado un nuevo impulso. Últimamente han aparecido
muchos métodos y herramientas que prometen la generación automática y
completa del código de una aplicación a partir de su especificación en UML.
Como ejemplo, es difícil encontrar una herramienta CASE que no se anuncie a
sus posibles usuarios/compradores destacando sus capacidades de
generación de código o su adhesión a la filosofía MDA. No obstante aún queda
mucho por hacer. Todos estos métodos y herramientas son capaces de generar

49
clases en Java o tablas en una base de datos relacional (BDR) a partir de un
esquema conceptual (EC) definido usando un diagrama de clases en UML y
(algunos menos) de generar también la parte dinámica a partir de diagramas de
estados o lenguajes de acciones (Action Semantics, [3]). El problema es que
muchos de ellos se “olvidan” de las restricciones de integridad (RI) durante esta
generación, a pesar de que, tal y como se define en [4] las RI son una parte
fundamental de la especificación de una aplicación y por lo tanto tienen que
tenerse en cuenta durante su implementación. En este artículo se estudia el
soporte ofrecido por estos métodos para la generación automática de las RI
definidas en la especificación del EC. Como se verá, todos presentan
limitaciones en cuanto a la expresividad de las RI permitidas o respecto a la
eficiencia del código generado para su comprobación. Además, en muchos de
ellos el soporte es casi nulo. Es totalmente imposible evaluar todas las
herramientas y métodos disponibles. Se han intentado escoger los más
representativos de cada grupo (herramientas CASE, herramientas MDA,
métodos de generación automática…). Se han incluido también todas las
herramientas que permiten la definición de RI en OCL (Object Constraint
Language [5]) o similares, ya que son las únicas que pueden permitir la máxima
expresividad en la definición de RI (la mayoría de RI no se pueden expresar
simplemente de forma gráfica y necesitan de un lenguaje específico [6 ch. 2]).
La estructura de este trabajo es la siguiente: en primer lugar se definen los
criterios de la evaluación. A continuación, en la sección 3 se evalúan las
diferentes herramientas y métodos. En la sección 4 se definen una serie de
características deseables en todo método de generación de RI. Finalmente, en
la sección 5 se presentan algunas conclusiones.

3.8. CAMBIOS EN LOS COEFICIENTES

Cambios en los coeficientes de la función objetivo.

El cambio en el Cj de una variable se interpretaría, por ejemplo, como en incremento en


el precio de un producto para un objetivo de maximización, o como la disminución en el
costo de una materia prima para un objetivo de minimización.
Finalmente, se estudiará por separado si la modificación en el Cj es para una variable
no-básica o para una básica, ya que las consecuencias en cada caso son muy diferentes.

Cambios en el coeficiente Objetivo de una variable No-básica.

Es importante mencionar que una variación de Cj a Cj’ en el coeficiente objetivo de una


variable no-básica, no necesariamente conlleva a una infracción de la inmejorabilidad
de la solución óptima actual, aunque en ciertas ocaciones si lo haga. Por este motivo, se
considerarán a continuación dos alternativas de cambio mutuamente exclusivas en el Cj
de una variable no-básica.

(1) cuando Cj’ < Cj (maximización)


en la solución óptima actual
f j = Cj - Zj <= 0 ==> f j = Cj’ - Zj < 0
Con lo cual la inmejorabilidad no se infringe. En consecuencia, se deduce que cuando el
Cj’ < Cj en un problema de maximización, la solución óptima actual no se alterara, lo

50
mismo en minimización con Cj’ > Cj.

(2) cuando Cj’ > Cj (maximización)

Es claro que solamente cuando el precio de la utilidad de una variable no-básica se


incrementa, Cj’ > Cj, en un problema de maximización, surge la posibilidad de que se
altere la inmejorabilidad y por ende la optimidad actual.

fj = Cj - Zj <= 0 ==> Cj’ <= Cj -fj


o alternativamente, cuando Cj’ <= Cj + I fj I

Es decir, si el nuevo Cj satisface la desigualdad, la actual solución permanece óptima;


de lo contrario, debe calcularse el f j’ el cual será positivo, e introducirse Xj a la base
para encontrar la nueva solución óptima.

Ejemplo: Cambio en el Cj de una variable no - básica.

Para el problema dado.


a) determinar los rangos de variación en la utilidad unitaria de las variables no-básicas ,
tal que la solución óptima no se altere.

b) Evaluar los efectos de un incremento en la utilidad unitaria del producto 3 de $4 a


$5.

c) Evaluar el efecto de de un aumento en la utilidad actual del producto 4 de $2 a $8.

a) Cj’ <=Cj + I fi j I
C3’ <= 4 + I -7/3I <= 19/3
C4’ <=2 + I -5I <= 7
C5’ <= 0 + I -2/3I <= 2/3
C7’ <= 0 + I -5/6I = 5/6

b) Dado C3’ = 5 = 15/3 satisface el límite máximo de 19/3, por lo tanto, el incremento
no modifica la solución óptima actual.

C) Ya C4’ = 8 sobrepasa el límite de incremento en C4, la solución óptima actual


cambiará. El nuevo f4 es

f4’ = C4’ - Z4 = 8 -7 = 1

y al ser positivo, X4 debe entrar a la base.

Base Xo X1 X2 X3 X4 S1 S2
S3 Sol.
Xo 1 0 0 7/3 -1 2/3 0 5/6
3,333.33

51
X2 0 0 1 -13/15 -12/15 1/15 0
-1/6 400/3 ------
X6 0 0 0 -1/3 -3/2 -1/6 1
-5/6 500/3 ------
X1 0 1 0 29/15 19/10 -1/30 0
1/3 400/3 4000/57
http://www.itson.mx/dii/elagarda/apagina2001/PM/dualidad.html

3.9. ADICION DE UNA NUEVA VARIABLE

AGREGACI¶ON DE NUEVAS VARIABLES


A~nadimos una nueva variable xn+1 ¸ 0 con costo cn+1 y columna an+1.
A.1.- Calculamos zn+1 ¡ cn+1.
A.2.- Si zn+1 ¡ cn+1 · 0, tomamos la soluci¶on que ten¶³amos junto xn+1 = 0.
A.3.- Si zn+1 ¡ cn+1 > 0, se a~nade la columna de xn+1: B¡1an+1.
Se aplica el m¶etodo simplex hasta llegar a la soluci¶on.

52
3.10. ADICION DE UNA NUEVA VARIABLE

El último caso es aquel en el que debe introducirse al modelo una nueva


restricción después de que ya se ha resuelto. Este caso puede ocurrir porque
se pasó por alto la restricción en un principio o porque surgieron nuevas
consideraciones después de la formulación original. Otra posibilidad es que a
propósito se haya eliminado la restricción para disminuir el esfuerzo
computacional por parecer menos restrictiva que otras ya planteadas en el
modelo, pero ahora es necesario verificar esta impresión con la solución óptima
que se obtuvo. Para ver si la nueva restricción afecta a la solución óptima
actual, todo lo que tiene que hacerse es verificar directamente si esa solución
óptima satisface la restricción. Si es así, todavía sería la mejor solución básica
factible (es decir, sería la solución óptima), aun cuando se agregara la
restricción al modelo. La razón es que una nueva restricción sólo puede
eliminar algunas de las soluciones factibles anteriores sin agregar ninguna. Si
la nueva restricción elimina la solución óptima actual, y si se quiere encontrar la

53
nueva solución, se introduce esta restricción a la tabla simplex final (como un
renglón adicional) como si fuera la tabla inicial, en la que se designa la variable
usual (de holgura o artificial) como la variable básica que corresponde a este
nuevo renglón. Como éste tal vez tenga coeficientes distintos de cero para
algunas otras variables básicas, se debe aplicar la conversión a la forma
apropiada de eliminación de Gauss y después cl resto del procedimiento
general. Igual que para algunos de los casos anteriores, este procedimiento
para el caso de una adición de una nueva restricción es una versión
simplificada del procedimiento general resumido anteriormente. La única
pregunta que hay que hacerse en este caso es si la solución óptima anterior es
todavía factible así que la prueba de optimalidad se ha eliminado. La prueba de
factibilidad se ha reemplazado por una prueba de factibilidad mucho más
rápida (¿la solución óptima anterior satisface la nueva restricción?) que debe
realizarse justo después de la revisión del modelo. Sólo cuando la respuesta a
esta prueba es negativa y se quiere reoptimizar, se usan los siguientes pasos;
revisión de la tabla simplex final, conversión a la forma apropiada de
eliminación de Gauss, y reoptimización.

EJEMPLO. Como ejemplo de este caso, supóngase que se introduce la nueva


restricción,

2×1 + 3×2 ≤ 24,

Al modelo dado en la tabla 20. El efecto gráfico se muestra en la figura 5. La


solución óptima anterior (0, 9) viola la nueva restricción, por lo que la solución
óptima cambia a (0, 8). Para analizar este ejemplo algebraicamente, obsérvese
que (0, 9) lleva a que 2×1 + 3×2 = 27 > 24, entonces esta solución óptima
anterior ya no es factible. Para encontrar la nueva solución óptima, se agrega
esta restricción a la tabla simplex final actual, tal como se describió, con la
variable de holgura x6 como su variable básica inicial. Esto lleva a la primera
tabla que se muestra en la tabla 23. El paso de conversión a la forma
apropiada de eliminación de Gauss requiere restar el renglón 2 multiplicado por
3 del nuevo renglón, con lo que se identifica la solución básica actual: x3 = 4,
x2 = 9, x4 = 6, x6 = −3 (xl = 0, x5 = 0), como se muestra en la segunda tabla.
Cuando se aplica el método dual simplex se obtiene en una sola iteración
(algunas veces se necesitan más) la nueva solución óptima en la tabla final de
la tabla |23.

54
IV TRANSPORTE Y ASIGNACION

4.1 DEFINICION DEL PROBLEMA DE TRANSPORTE

Problema del transporte


Una empresa dedicada a la fabricación de componentes de ordenador tiene
dos fábricas que producen, respectivamente, 800 y 1500 piezas mensuales.
Estas piezas han de ser transportadas a tres tiendas que necesitan 1000, 700 y
600 piezas, respectivamente. Los costes de transporte, en pesetas por pieza
son los que aparecen en la tabla adjunta. ¿Cómo debe organizarse el
transporte para que el coste sea mínimo?
Tienda A Tienda B Tienda C
Fábrica I 3 7 1
Fábrica II 2 2 6

Un problema particular que se resuelve con los procedimientos de la


programación lineal es la situación conocida como problema del transporte o
problema de la distribución de mercancías. Se trata de encontrar los caminos
para trasladar mercancía, desde varias plantas (orígenes) a diferentes centros
de almacenamiento (destinos), de manera que se minimice el costo del
transporte. Para que un problema pueda ser resuelto por el método del
transporte debe cumplir: 1) La función objetivo y las restricciones deben ser
lineales. 2) El total de unidades que salen en origen debe ser igual al total de
unidades que entran en destino.

En este tipo de problemas se exige que toda la producción sea distribuida a los
centros de ventas en las cantidades que precisa cada uno; por tanto, no
pueden generarse inventario del producto ni en las fábricas ni en los centros de
ventas.

En consecuencia, los 800 artículos producidos en la fábrica I deben distribuirse


en las cantidades x, y, z a A, B y C, de manera que x + y + z = 800. Pero,
además, si desde I se envían x unidades a A, el resto, hasta las 1000
necesarias en A, deben ser enviadas desde la fábrica II; esto es, 1000 - x
unidades serán enviadas desde II a A.
Del mismo modo, si desde I a B se envían y, el resto necesario, 700 - y, deben
enviarse desde II. Y lo mismo para C, que recibirá z desde I y 600 - z desde II.

En la siguiente tabla de distribución se resume lo dicho:

a la tienda A a la tienda B a la tienda C


Envíos
(1000) (700) (600)
Desde la fábrica I
x y 800 - x - y
( 800)
Desde la fábrica II
1000 - x 700 - y x + y - 200
(1500)

55
La última columna la hemos obtenido de la siguiente forma:
Como x + y + z = 800 , se tiene que z = 800 - x - y, de donde, 600 - z = 600 -
(800 - x - y) = x + y - 200.

Ahora bien, todas las cantidades anteriores deben ser mayores o iguales que
cero. Por tanto, se obtienen las siguientes desigualdades:

x 0 ; 1000 - x 0;y 0; 700 - y 0 ; 800 - x - y 0 ; x + y - 200 0

Simplificando las desigualdades anteriores, se obtienen las siguientes


inecuaciones:

1000 x 0 ; 700 y 0 ; 800 x+y 0

Recordemos que nuestro objetivo es abaratar al máximo los costes de


transporte. Estos costes se hallan multiplicando las cantidades enviadas a
desde cada fábrica a cada tienda por los respectivos costes de transporte
unitario.
Se obtiene:

Z = f(x,y) = 3x + 2(1000 - x) + 7y + 2(700 - y) + (800 - x - y) + 6(x + y - 200) = 6x


+ 10y + 3000

En definitiva, el programa lineal a resolver es :

Minimizar: Z = 6x + 10y + 3000


sujeto a: 1000 x 0
700 y 0
800 x + y 0

La región factible se da en la imagen del margen.

Sus vértices son A(200,0) ; B(800,0) ; C(100,700) ;


D(0,700) y E(0,200).

El coste, el valor de Z en cada uno de esos puntos,


es:

 en A, 4200
 en B, 7800
 en C, 10600
 en D, 10000
 en E, 5000

El mínimo se da en A , cuando x = 200 e y = 0.

Luego, las cantidades a distribuir son:

56
a la tienda A a la tienda B a la tienda C
Envíos
(1000) (700) (600)
Desde la fábrica I
200 0 600
( 800)
Desde la fábrica II
800 700 0
(1500)

http://www.itson.mx/dii/elagarda/apagina2001/PM/dualidad.html#inicio

4.2 EL METODO DE APROXIMACION DE VOGEL.

Método de aproximación de Vogel.


Método de Aproximación de Vogel: para cada renglón y columna que queda bajo
consideración, se calcula su diferencia, que se define como la diferencia aritmética entre el
costo unitario más pequeño (c ij) y el que le sigue, de los que quedan en ese renglón o columna.
(Si se tiene un empate para el costo más pequeño de los restantes de un renglón o columna,
entonces la diferencia es 0). En el renglón o columna que tiene la mayor diferencia se elige la
variable que tiene el menor costo unitario que queda. (Los empates para la mayor de estas
diferencias se pueden romper de manera arbitraria).
Para hacer más concreta esta descripción, se ilustrará el procedimiento general, utilizando el
método de aproximación de Vogel
para resolver el ejemplo presentado anteriormente y que fue resuelto por la regla de la esquina
noroeste:
Iniciamos el método calculando las primeras diferencias para cada renglón y columna. De las
diferencias que obtuvimos nos fijamos en la mayor (¿Por qué?), que resulta ser para la tercera
columna. En esa columna encontramos el costo unitario (c ij) menor y en esa celda realizamos la
primera asignación:

Recursos DIF.
3 7 6 4 5 1

2 4 3 2 2 0 0
2
4 3 8 5 3 1

10
Demanda 3 4 2 0 1 10
1
DIF. 1 1 3 2

57
Nota: Marcaremos a la mayor de las diferencias seleccionada encerrándola en un círculo y escribiéndole
como superíndice el número que le corresponda en la secuencia de selección.

Observemos en la figura anterior que únicamente eliminamos el segundo renglón ya que


la tercera columna nos servirá después para hacer la asignación de una variable básica
degenerada. Continuando con la aplicación del método, tenemos que calcular nuevamente las
diferencias de las columnas ya que hemos eliminado un renglón y ésto puede ocasionar que las
diferencias aritméticas entre el costo unitario más pequeño y el que le sigue ya no sean las
mismas:

Recursos DIF.
3 7 6 4 5 1

2 4 3 2 2 0 0
2
4 3 8 5 3 0 1
3
10
Demanda 3 4 1 2 0 1 10
1
DIF. 1 1 3 2
2
1 4 2 1

Como siguiente paso deberíamos calcular las nuevas diferencias de columnas,

pero ya que solamente queda un renglón dentro de las posibilidades (ésto no significa

que solamente un renglón quede bajo consideración ya que podemos observar que

ninguna de las cuatro columnas (destinos) ha sido eliminada y todas quedan todavía

bajo consideración), no es posible encontrar la diferencia aritmética entre el costo

menor y el que le sigue, por lo tanto vamos tomando una a una las celdas que quedan

comenzando con la de menor costo unitario hasta que todas hayan sido asignadas.

Recursos DIF.
3 7 6 4 5 2 1 0 1
3 1 0 1
2 4 3 2 2 0 0
2
4 3 8 5 3 0 1
3
10
Demanda 3 0 4 1 0 2 0 1 0 10
1
DIF. 1 1 3 2
2
1 4 2 1

58
La solución inicial básica factible es x11=3, x12=1, x13=0 (variable básica degenerada),
x14=1, x23=2 y x32=3 y el costo total de transporte asociado a esta primera “Política de
Transporte” factible es de:

x11 c 11 x12 c 12 x13 c 13 x14 c 14 x23 c 23 x32 c 32

Costo = 3 (3) + 1 (7) + 0 (6) + 1 (4) + 2 (3) + 3 (3) = 35 unidades

Es necesario aclarar que ésta puede o no ser la solución final del problema, es necesario
aplicar a esta primera solución factible la prueba de optimalidad ya que puede existir una mejor
“política de transporte” que minimice todavía más el costo total.

4.3 METODO MODI

Este método reproduce exactamente las mismas iteraciones del método de


banquillo. La principal diferencia ocurre en la forma en que las variables no
básicas se evalúan en cada iteración. Asociados a cada renglón i de la tabla
existen multiplicadores Ui similarmente se asocia un multiplicador Vj a cada
columna de la tabla j. Para cada variable básica X ij de la solución actual, se
escribe la ecuación Ui +Vj = Cij. Esas ecuaciones proporcionan m+n-1
relaciones con m+n incógnitas.

Los valores de los multiplicadores pueden ser determinados a partir de las


ecuaciones suponiendo un valor arbitrario para cualquiera de los
multiplicadores (usualmente se establece U1=0) y resolviendo el sistema de
ecuaciones para encontrar los multiplicadores desconocidos. Una vez que se
hace esto, la evaluación de cada variable no básica X pq está dada como:

El criterio que se utiliza para seleccionar la variable que entra es el mismo que
el método de banquillo (la mayor negativa).

Ejemplo:

Una compañía está considerando una demanda de 5 clientes utilizando


artículos que tienen disponibles en 2 almacenes. Los almacenes cuentan con
800 y 1000 unidades respectivamente. Los clientes necesitan 200, 150, 200,
180 y 500 unidades respectivamente. Los costos de embarque por artículo de
los almacenes de los clientes son:

59
Resuelva el modelo de transporte empleando.

a) Una solución inicial por el método de aproximación de vogel.

b) La solución óptima por el método de multiplicadores.

DESTINO FICTICIO = 570 ARTÍCULOS

Para encontrar el valor de los multiplicadores

60
Se acostumbra:

Para encontrar costos:

61
Encuentre la solución óptima por el método de multiplicadores a partir de la
siguiente tabla inicial.

62
4.4 PROCEDIMIENTO DE OPTIMIZACION.

Método para la obtención de la solución óptima (multiplicadores).

El método de multiplicadores es un procedimiento secuencial que empieza con


una solución inicial factible del problema de transporte, para encontrar la
solución óptima. En cada paso se intenta en este procedimiento enviar
artículos por las rutas que no se hayan usado en la solución factible en curso,
en tanto que se elimina una de las rutas que esté siendo usada actualmente.
Este cambio de ruta se hace de modo que: la solución se conserve factible,
mejore el valor de la función objetivo.

Pasos:
1. Use la solución actual para crear una trayectoria única del paso secuencial.
Use estas trayectorias para calcular el costo marginal de introducir a la solución
cada ruta no usada.
2. Si todos los costos marginales son iguales o mayores que cero, deténgase;
se tendrá la solución óptima. Si no, elija la celdilla que tenga el costo marginal
más negativo. (Los epates se resolverán arbitrariamente)
3. Usando la trayectoria del paso secuencial, determine el máximo número de
artículos que se pueden asignar a la ruta elegida en el paso 2 y ajuste la
distribución adecuadamente.
4. Regrese al paso 1.

tomando cómo base el ejemplo siguiente se consideran los pasos para


desarrollar el método ( 19 ).

Casos especiales
Soluciónes degeneradas.
1. Supóngase que en el problema general hay m origenes y n destinos. En el
ejemplo actual m = 3 , n = 4. Si una solución factible usa menos de m + n - 1
rutas el problema se llama degenerado. Se tiene que hacer ajustes para usar el
metodo de multiplicadores.

“ Callejones sin salida”


La determinación de la trayectoria apropiada es más complicada que el mero
hecho de saltar de una celdilla a otra ya usando en el mismo renglón o la
misma columna. Pueden encontrarse callejones sin salida, en cuyo caso se
deben hacer otro intento distinto.
Número de celdillas en una trayectoria
La trayectoria de pasos secuenciales obtenida en los pasos 1 - 5 contiene
cuatro celdas. El hecho de que cualquier renglón o columna que tenga un signo
+ debe tener tambien un signo - obliga a ello. Aunque siempre debe haber por
lo menos cuatro celdillas, la trayectoria podría necesitar más de cuatro.
Condiciones de detención para una trayectoria del paso secuencial.
El proceso continúa alternando los signos + y - tanto en los renglones como en
las columnas hasta que se obtenga una sucesión de celdillas que satisfagan
dos condiciones.
1. Hay un signo + en la celdilla desocupada original de interés.

63
2. Cualquier renglón o columna que tenga un signo + debe tener también un
signo - y viceversa.
La sucesión de pasos que tenga esta propiedades se llama trayectoria.

4.5 DEFINICION DEL PROBLEMA DE ASIGANCION


Un problema de asignación es un problema de transporte balanceado, en el

cual todas las ofertas y todas las demandas son iguales a uno. Se puede resolver

eficientemente un problema de asignación m x m mediante el método Húngaro:

o Paso 1.- Empiece por encontrar el elemento mas pequeño en cada

renglón de la matriz de costos. Construya una nueva matriz, al restar de

cada costo, el costo mínimo de su renglón. Encuentre, para esta nueva

matriz el costo mínimo en cada columna. Construya una nueva matriz ( la

matriz de costos reducidos ) al restar de cada costo el costo mínimo de su

columna.

o Paso 2.- Dibuje el mínimo numero de líneas (horizontales o verticales )

que se necesitan para cubrir todos los ceros en la matriz de costos

reducidos. Si se requieren m líneas para cubrir todos los ceros, siga con el

paso 3.

o Paso 3.- Encuentre el menor elemento no cero (llame su valor k en la

matriz de costos reducidos, que no esta cubiertos por las líneas dibujadas en

el paso 2. Ahora reste k de cada elemento no cubierto de la matriz de costos

reducidos y sume k a cada elemento de la matriz de costos reducidos

cubierto por dos líneas. Regrese al paso 2.

64
Un problema de asignación es un problema de transporte balanceado en el que

todas las ofertas y demandas son iguales a 1; así se caracteriza por el conocimiento

del costo de asignación de cada punto de oferta a cada punto de demanda. La

matriz de costos del problema de asignación se llama: matriz de costos.

Como todas las ofertas y demandas para el problema de asignación son números

enteros, todas las variables en la solución óptima deben ser valores enteros.

EJEMPLOS DE PROBLEMAS DE ASIGNACION

1. Una empresa ha contratado a 4 individuos para 4 trabajos, los 4 individuos

y 4 trabajos pueden mostrarse en una tabla que indique las clasificaciones

obtenidas, analizando al individuo para cada trabajo. Los renglones se refieren

a los hombres, mientras que las columnas se refieren a los trabajos; el

problema consiste en maximizar las calificaciones para asignar los 4 trabajos.

Se supone que las calificaciones de un individuo es directamente proporcional a

la ganancia que obtendría la compañía si ese individuo se encargara del trabajo.

2. Otro problema que utiliza la misma estructura del modelo de transporte, es

la asignación de camiones para reducir al mínimo los costos de un problema de

asignación.

3. Una empresa cubre el territorio nacional con dos camiones especialmente

equipados para funcionar en condiciones climatológicas específicas. La empresa

ha dividido en cinco regiones geográficas. Se compra el camión A y se modifica

para que funcione eficientemente en las regiones uno y dos, y para que

65
funcione bastante bien en las regiones tres y cuatro. El mismo camión no

funciona bien en la región cinco. Los gastos de gasolina, mantenimiento y otros

costos directos de operación, serían mínimos en las regiones uno y dos,

promedio en las regiones tres y cuatro, y altos en la región cinco. Se tiene esa

misma información con respecto a los demás camiones de la compañía, o sea,

los tipos B, C y D.

4.6 EL MÉTODO HUNGARO.

EL METODO HUNGARO

Este algoritmo se usa para resolver problemas de minimización, ya que es más


eficaz que el empleado para resolver el problema del transporte por el alto
grado de degeneración que pueden presentar los problemas de asignación.
Las fases para la aplicación del método Húngaro son:

Paso 1: Encontrar primero el elemento más pequeño en cada fila de la matriz


de costos m*m; se debe construir una nueva matriz al restar de cada costo el
costo mínimo de cada fila; encontrar para esta nueva matriz, el costo mínimo
en cada columna. A continuación se debe construir una nueva matriz
(denominada matriz de costos reducidos) al restar de cada costo el costo
mínimo de su columna.

Paso 2: (En algunos pocos textos este paso se atribuye a Flood). Consiste en
trazar el número mínimo de líneas (horizontales o verticales o ambas
únicamente de esas maneras) que se requieren para cubrir todos los ceros en
la matriz de costos reducidos; si se necesitan m líneas para cubrir todos los
ceros, se tiene una solución óptima entre los ceros cubiertos de la matriz. Si se
requieren menos de m líneas para cubrir todos los ceros, se debe continuar con
el paso 3. El número de líneas para cubrir los ceros es igual a la cantidad de
asignaciones que hasta ese momento se pueden realizar.

Paso 3: Encontrar el menor elemento diferente de cero (llamado k) en la matriz


de costos reducidos, que no está cubierto por las líneas dibujadas en el paso 2;
a continuación se debe restar k de cada elemento no cubierto de la matriz de
costos reducidos y sumar k a cada elemento de la matriz de costos reducidos
cubierto por dos líneas (intersecciones). Por último se debe regresar al paso 2.

66
Notas:

1. Para resolver un problema de asignación en el cual la meta es maximizar la


función objetivo, se debe multiplicar la matriz de ganancias por menos uno (−1)
y resolver el problema como uno de minimización.

2. Si el número de filas y de columnas en la matriz de costos son diferentes, el


problema de asignación está desbalanceado. El método Húngaro puede
proporcionar una solución incorrecta si el problema no está balanceado; debido
a lo anterior, se debe balancear primero cualquier problema de asignación
(añadiendo filas o columnas ficticias) antes de resolverlo mediante el método
Húngaro.

3. En un problema grande, puede resultar difícil obtener el mínimo número de


filas necesarias para cubrir todos los ceros en la matriz de costos actual. Se
puede demostrar que si se necesitan j líneas para cubrir todos los ceros,
entonces se pueden asignar solamente j trabajos a un costo cero en la matriz
actual; esto explica porqué termina cuando se necesitan m líneas.

67
V PROGRAMACION ENTERA

http://www-2.dc.uba.ar/materias/ocom/

5.1 INTRODUCIION Y CASOS DE APLICACIÓN

68
5.2 DEFINICION Y MODELOS DE PROGRAMACION
ENTERA

69
70
71
72
5.3 METODO DE RAMIFICACION Y ACOTAR

Optimización combinatorial
Soluci´on ingenua: hacer una lista completa de todas las soluciones factibles
y evaluar la función objetivo para cada una, eligiendo al final la solución cual
dio el mejor valor. La complejidad de ese tipo de solución es por lo menos
(|F|) donde F es el conjunto de soluciones factibles. El número de soluciones
factibles suele ser algo como (2n), por lo cual el algoritmo ingenuo tiene
complejidad asintótica exponencial.

73
Ramificar-acotar– p. 3/20

ALGORITMO ADITIVO DE BALAS

Ejemplo de Algoritmo Aditivo:

Resolver el siguiente problema 0-1:

Max w=3y1+2y2-5y3-2y4+3y5

Sujeta a:

y1 + y2 + y3 + 2y4 - y5 " 4

7y1 +3y3 - 4y4 - 3y5 " 8

11y1 -6y2 +3y4 - 3y5 " 5

y1,y2,y3,y4,y5 = (0_1)

El problema se puede poner en la forma inicial requerida por el algoritmo aditivo, utilizando las siguientes operaciones:

 Multiplique la función objetivo por -1.

 Multiplique la tercera restricción por -2.

 Añada las variables s1,s2 y s3 para convertir las tres restricciones en ecuaciones.

 Sustituya y1=1-x1 , y2=1-x2 , y5=1-x5 , y3=x3 , y y4=x4 para producir todos los coeficientes objetivo positivos.

La conversión da por resultado la siguiente función objetivo:

Min z'=3x1+2x2+5y3-2x4+3x5-8

Para mayor facilidad, ignoremos la constante -8 y reemplazaremos z' +8 con z, de manera que el problema convertido
resultante se lee como:

Min z=3x1+2x2+5y3-2x4+3x5

Sujeta a: x1 - x2 + x3 + 2x4 - x5 -s1 = 1

-7x1 +3x3 - 4x4 - 3x5 -s2 = -2

11x1 -6x2 -3x4 - 3x5 -s3 = 5

x1,x2,x3,x4,x5 = (0_1)

Debido a que el problema modificado busca la minimización de una función objetivo


con todos los coeficientes positivos, una solución inicial lógica debe consistir en
variables binarias todas cero. En este caso, las holguras actuarán como variables básicas
y sus valores los dan los lados derechos de la ecuación. La solución se resume en la
siguiente tabla:

Solución básica
X1 X2 X3 X4 X5 S1 S2 S3 Solución
factible
S1 -1 -1 1 2 -1 1 0 0 1
S1 -7 0 3 -4 -3 0 1 0 -2

74
S1 11 -6 0 -3 -3 0 0 1 -1
Coeficientes
3 2 5 2 3
objetivo

Dada una solución binaria inicial toda cero, la solución de holgura asociada es:

(s2 ,s2 ,s3 ) = (1,-2,-1) , z=0

Si todas las variables fueran no negativas, concluiríamos que la solución binaria toda cero es óptima. Sin embargo,
debido a que algunas de las variables son no factibles (negativas), necesitamos elevar una o más variables binarias al
nivel 1 para lograr la factibilidad (o concluimos que el problema no tiene una solución factible).

La elevación de una (o de algunas) de las variables binarias cero al nivel 1 ocurre en el algoritmo aditivo una a la vez.
La variable elegida se llama variable de ramificación y su selección se basa en el empleo de pruebas especiales.

La variable de ramificación debe tener el potencial de reducir la no factibilidad de las holguras. Si venos la tabla anterior
x3 no se puede seleccionar como una variable de ramificación, debido a que sus coeficientes de restricción en la
segunda y tercera restricciones son no negativos. Por tanto, la determinación de x3=1 solo puede empeorar la no
factibilidad de s2 y s3. A la inversa, cada una de las variables restantes tiene por lo menos un coeficiente de restricción
negativo en las restricciones 2 y 3, de allí que una combinación de estas variables puede producir holguras factibles. Por
consiguiente, podemos excluir a x3 ya a considerar x2, x3, x4 y x5 como las únicas candidatas posibles para la variable
de ramificación.

La selección de la variable de ramificación entre las candidatas x2, x3, x4 y x5 se basa en el empleo de la medida de no
factibilidad de holgura. Esta medida, que se basa en la suposición de que una variable cero xj se elevará al nivel 1, se
define como

Ij = " min {0,si-aij}

Donde s1 es el valor actual de la variable i y aij es el coeficiente de restricción de la variable x1 en la restricción i.

De hecho, Ij no es más que la suma de las variables negativas resultantes de elevar xj al nivel 1. La fórmula,
aparentemente complicada, se puede simplificar a:

Ij = " (negativos sj valor dado xj=1)

Por ejemplo, cuando determinamos x1=1, obtenemos s1=1-(-1)=2, s2= -2-(-7)=5 y

s3= -1-11= -12. Así I1= -12. De manera similar I2=-2, I4=-1 y I5=0 (recordando que x3 se excluyó como no
prometedora). Debido a que I5 produce la medida más pequeña de no factibilidad, se selecciona x5 como la variable de
ramificación. Fa figura 9-10 muestra las dos variables asociadas con x5=1 y x5=0 y la creación de nodos 1 y 2. el nodo
1 produce los valores de holguras factibles (s1 ,s2 ,s3 )= (2,1,2) y z=3. por tanto, se sondea el nodo 1 y z=3 se define
como la cota superior actual sobre el óptimo valor objetivo.

Después de sondear el nodo 1, avanzamos al nodo, para lo cual x5=0. Aquí tenemos:

(s1 ,s2 ,s3 )= (-1,2,-1), z=2

Que no es factible. Las variables x1,x2,x3 y x4 son las candidatas para la variable de ramificación. (Observe que aun
cuando las soluciones en el nodo 0 u el nodo 2 son idénticas, el nodo 2 difiere en que x5 ya no es candidata para la
ramificación. Para las variables restantes, x2 y x4, calculamos las medidas de factibilidad como:

I2 = -2 , I4 = -1

75
Por consiguiente, x4 es la variable de ramificación en el nodo 2. La figura 9-11 muestra las ramificaciones x4 = 1 y x4 =
0, que conducen a los nodos 3 y 4. en el nodo 3 (definido al determinar x5 = 0 y x4 = 1), obtendremos:

(s1 ,s2 ,s3 )= (-1,2,2), z=2

Ésta solución aún no es aún factible. Las candidatas para la ramificación son x1,x2 y x3. Sin embargo la elevación
cualquiera de éstas variables al nivel 1 empeorará el valor de z en relación a la cota superior actual z=3. Por
consiguiente, todas las variables candidato se excluyen y el nodo 3 se sondea.

Después, en el nodo restante 4, definido por x5 = x4 = 0 tenemos:

(s1 ,s2 ,s3 )= (1,-2,-1), z=0

Las variables x5 y x3, se excluyen por medio de la prueba de la cota superior. (Observe que también se puede excluir
debido a que no reduce la factibilidad de la holgura). La variable faltante x2 no puede ser excluida por la cota superior
o por la promesa de factibilidad. Por tanto x2 es la variable de ramificación.

La figura 9-12 muestra la adición de los nodos 5 y 6 que emanan el nodo 4. en el nodo 5 tenemos:

(s1 ,s2 ,s3 )= (2,-2,5), z=2

Y x1 y x3 como las candidatas a la ramificación. La variable x1 se excluye por medio de la prueba de la cota superior y
x3 se excluye por medio de las pruebas tanto de la factibilidad de la holgura como de la cota superior. Esto significa
que el nodo 5 se sondea. El nodo 6 también es sondeado debido a que ni x1 ni x3 pueden producir una mejor solución
factible.

Ahora que se han sondeado todos los “pendientes” en la anterior figura y termina el algoritmo de R y A la solución
óptima está asociada con el nodo 1, es decir, x5 = 1, z = 3 y todas las demás variables son cero. En términos de las
variables originales, la solución es y1= y2=1 y y3= y4= y5= 0 con w=5.

La figura anterior muestra que, mientras más pequeño es el número de ramificaciones conducentes a un nodo
sondeado, más eficiente es el algoritmo. Por ejemplo, el nodo 1 se define fijando una ramificación (x5=1) y su sondeo
implica automáticamente de 25-1 = 16 soluciones binarias (todas aquellas que tienen x5=1). A la inversa, el nodo 3 se
define fijando dos variables binarias y su sondeo implícitamente implica de 25-1=8 soluciones binarias únicamente

76
5.4 METODO DE PLANOS CORTANTES

77
78
79
5.5 ALGORITMO ADITIVO DE BALAS

80
81
Algoritmo de Balas

82
http://www.investigacion-operaciones.com/Curso_Inv_Oper.htm

83

También podría gustarte