Académique Documents
Professionnel Documents
Culture Documents
CURSO 2010-2011
básicas.
. Problemas de programación lineal en forma estándar.
. Sistemas de ecuaciones lineales simultáneas. Definiciones básicas: solución factible, variables
básicas y no básicas, sistema canónico, solución básica, solución factible básica.
. ARREOLA, J. – ARREOLA, A.
Programación lineal. Una introducción a la toma de decisiones cuantitativa.
Thomson
. BRONSON. R.
Teoría y problemas de investigación de operaciones.
Schaum, McGrawHill
. DANTZIG, G.B.
Linear programming and extensions
Princeton University Press
. HILLIER,F. - LIEBERMAN, G.
Introducción a la investigación de operaciones.
McGraw-Hill
. INFANTE MACIAS, R.
Métodos de programación matemática.
UNED
. MATHUR - SOLOW
Investigación de operaciones.
Prentice Hall
. PARDO, L.
Programación lineal continua: aplicaciones prácticas en la empresa.
Ed. Díaz de Santos.
. PARDO, L.
Programación lineal entera: aplicaciones prácticas en la empresa.
Ed. Díaz de Santos.
. TAHA, H.
Investigación de Operaciones.
Prentice Hall
INVESTIGACIÓN OPERATIVA. XESTIÓN. CURSO 2010-2011.
modelo
A B C
Trabajo (horas 7 3 6
por unidad)
Material (titanio 4 4 5
Por unidad)
Beneficios (por 40$ 20$ 30$
unidad fabricada)
2.- ) El gobierno provisional ha decidido repartir cereales en los colegios iraquíes a la hora
de la merienda. Los niños podrán tomar Cereales "A" o Cereales "B", o bien una mezcla de
ambos. Por recomendación de la ONU, los niños deben recibir en su desayuno, cuando
menos, 1 miligramo de tiamina, 5 miligramos de miacina y 400 calorías. Una unidad (100
gramos) de cereales "A" tiene 0.10 mg de tiamina, 1 mg de miacina y 110 calorías,
mientras que una unidad de cereales "B" tiene 0.25 mg de tiamina, 0.25 de miacina y 120
calorías. La unidad de cereales "A" cuesta 180 centavos de dólar y la de cereales "B" 234
centavos de dólar. Formular un problema de programación lineal que sirva para establecer
la dieta óptima más barata.
Problemas 1
3.- ) El administrador de un club de carretera ha elaborado una lista de necesidad de
camareras para su establecimiento cada 24 horas
4.-) Una organización terrorista da trabajo a 1000 personas. En una semana, cada uno de
ellos puede producir 2 barriles de sustancias químicas “mantrax” para enviar a países del
eje del mal, o bien transformar un barril en otro de un arma de destrucción masiva
“agente amarillo” (tras mezclado de sustancias indicadas por un químico español aburrido
de no cobrar un duro como becario), pero no ambas cosas a la vez. Actualmente, la
fábrica tiene un amplio surtido de materia prima porque se la envió Irak poco antes de la
invasión. Después de tres semanas de producción, los barriles de “mantrax” se venden a
20$ unidad y los barriles de “agente amarillo” a 75 por unidad.
Plantear un problema de programación- lineal que nos sirva para calcular cuántos
terroristas deben dedicarse a la fabricación de cada producto durante cada semana, en
orden a obtener el máximo beneficio (supóngase que un barril de mantrax puede
convertirse en agente amarillo tan sólo a la semana siguiente de su fabricación).
Problemas 2
Al fabricar la herramienta B también se produce un polvillo mata-suegras sin coste
adicional, pero sólo una parte puede venderse con provecho en sobres en quioscos; el
resto debe destruirse. Se obtienen 2 sobres del polvillo C por cada herramienta B
fabricada, y sólo se podrán vender 5 sobres de C para que la policía no sospeche y
clausure la fábrica
La ganancia de la herramienta A es de 4 euros por unidad y la de B es de 10 euros.
por unidad. El producto C, si se vende proporciona una ganancia de 3 euros/unidad, pero
si se destruye su coste es de 2 euros/unidad.
Plantear un problema de p.l.. de manera que se maximicen las ganancias.
6.-) Una tienda de máquinas tiene un taladro a presión y 5 máquinas moledoras, las
cuales son utilizadas para producir un destornillador-navaja que consta de dos piezas
A(destornillador) y B (navaja). La productividad de cada máquina para las dos piezas
viene dada por:
TALADRO MOLEDORA
PIEZA A 3 20
PIEZA B 5 15
Se desea mantener un equilibrio entre todas las máquinas de lal forma que ninguna
máquina trabaje 30 minutos por día más que otra (se supone que la carga de trabajo de
cada moledora es la media de las 5 máquinas). Plantear un problema de programación
lineal para obtener el número máximo de herramientas completas en 8 horas diarias de
trabajo.
Problemas 3
. Va a dedicar, sin excusa alguna, 100 horas en chats y hackeos a los ordenadores
de varios alumnos pelotas que han subido el nivel de estudios ese año.
Sabe que para cada punto de álgebra necesitará 30 horas de estudio, y de
Estadística 20 horas.
¿Cómo distribuirá su tiempo para obtener máximo beneficio económico, si no está
realmente obligado a aprobar, puesto que un arreglo con un Vicedecano (al que pagaría
600 euros) le permite obtener el título igual ¿Cuánto dinero le queda una vez transcurridos
estos 30 dias tan apurados?
Nota: El padre le paga por la nota que saque, pero solo si aprueba. Se aprueba con nota
mayor o igual a 5. El problema es más difícil de plantear de lo habitual, pero fácil de
resolver.
Dibujar la región factible. Seguir gráficamente los pasos del método del simples,
interpretando el cambio de una solución factible básica a la siguiente en dicha región
factible.
Problemas 4
- X1 + X2 - X3 ≤ 6
X1≤0, X2≥0, X3 cualquier signo
Sujeto a
X1 -2x3 ≥ 6
2x1 - x2 + 2x3 ≥ -2
x1,x3 ≥ 0, x2 cualquier signo
Base Xl x2 x3 x4 Xs Constantes
x3 0 0 1 1 -1 2
x2 0 1 0 1 0 6
x1 1 0 0 -1 1 2
Cj- 0 0 0 -3 -2
Donde x3,x4,x5 son variables de holgura. Calcular el valor óptimo de la función del
Problemas 5
objetivo de 2 formas diferentes.
a) (1,1,1) y (1,1,0)
b) (1,0,2) y (1,1,0)
c) (1,0,2) y (0,2,1)
d) (1,2,0) y (0,2,1)
5.-) Comprobar, utilizando el método del simplex dual, que el siguiente problema no
tiene solución:
Min Z =40x1+36x2
Sujeto a x1<=8
X2 <=10
Problemas 6
5x1+3x2>=45
Base X1 X2 X3 X4 X5 ctes
X1 1 b -1 0 1 30
X4 0 c 3 1 -1 10
cj 0 a -1 d e Z=150
Calcular
a) Los valores de b1 y b2 que proporcionan la solución óptima especificada
b) los valores de a, b y c en la tabla óptima
c) si se requiriera aumentar Z0 óptimo, ¿debería aumentarse b1 ó b2 y en cuánto?
d) Supongamos que la función objetivo del problema anterior se cambia a minimizar,
esto es, queda Min Z=5x1 – 6x2 –6x3. Obtener la nueva solución óptima y el nuevo Z
óptimo a partir de la solución óptima inicial, sin resolver el problema otra vez
8.-) Una banda de “querubines del purgatorio” posee un laboratorio clandestino en el que
fabrican 3 tipos diferentes de droga: “Peleona” (P), “Juliana” (J) y “Marijuana” (M). Para la
fabricación son necesarios, además de pastillas sedantes, pegamento y caldo avecrem
–para los cuales no hay limitación de disponibilidad-, crack y cocaína, que limitan la
cantidad diaria de producción. La siguiente tabla nos da la cantidad necesaria de estos 2
últimos recursos para producir 1 kg de cada una de las distintas drogas, los kg disponibles
de cada recurso, y el beneficio por kg de droga producida
P J M disponibilidad
Crack 2 1 2 30
Cocaína 1 2 2 45
Beneficio (en 4 7 3
millones de
euros)
Problemas 7
Responder:
a) ¿Por qué no sale rentable fabricar la droga Marijuana? ¿Qué debería ocurrir para
que sí se fabricase?
b) Resulta que, por cada kg de crack que sobre, hay un millonario colgado que se lo
compra, pagándolo a 2 millones el kg. ¿Sigue siendo la solución inicial la óptima?
c) La policía ha incautado en el puerto un alijo de crack procedente de Nueva Zelanda.
Un policía corrupto le vende a la banda 6 kg a cambio de 5 millones. ¿Les compensa
comprárselos?
d) Un robo salvaje a una banda rival les proporciona nada menos que 63 kg más de
crack. Lógicamente, ahora la solución inicial no puede seguir siendo la óptima.
Calcular la nueva.
e) Gracias a una nueva formula robada en el Monsergas, no es necesario utilizar
cocaína para fabricar la droga M.¿Cuánto dinero ganará la banda con esta nueva
fórmula?
f) Se introduce en el plan de producción la posibilidad de añadir tomate, de forma que
la fabricación de 1 kg de droga P requiere 3 kg de tomate, 1 kg de J requiere 1 kg
de tomate, y 1 kg de M requiere también 1 kg de tomate. Se tienen 30 kg de
tomate. ¿Cómo varía la solución óptima? Si es el caso, calcular la nueva
g) A la chorba del jefe se le ocurre fabricar un nuevo tipo de droga que coloque más
rapidamente (Veloz), que requiere 1 kg de crack y 1 kg de cocaína por kg fabricado,
y supone que les reportará 5 millones de euros por kg. Ella dice que la fabricación
de esta droga les hará ganar más dinero. ¿Es cierto lo que piensan los de la banda
acerca de que el jefe es un calzonazos, y que su novia está equivocada? ¿Cuánto
ganan o pierden con esta idea?
9.-) Una empresa fabrica los productos A, B y C, para lo que son necesarios recursos de
trabajo y material. Se quiere determinar la producción que maximiza la ganancia. Para
ello se plantea el siguiente p.p.l.
Sujeto a
6x1 + 3x2 + 5x3 <= 45 (trabajo)
3x1 + 4x2 + 5x3 <= 30 (material)
xi>=0
10.-) La siguiente tabla da una solución óptima a un p.p.l estándar donde suponemos que
x4 y x5 forman la base inicial (son variables de holgura)
Problemas 8
Base X1 X2 X3 X4 X5 ctes
X1 1 0 -1 3 -1 1
X2 0 1 2 -1 1 2
cj 0 0 -3 -3 -1
a) calcular el campo de variación de λ para que la solución actual siga siendo óptima si el
vector original b de constantes de la derecha es reemplazado por b+λb*, con
b*=(1,-1). Encontrar la solución óptima para λ=1/2
b) calcular la solución óptima si se añade la nueva restricción x1 + x3>=2 al problema
original.
c) calcular los precios sombra de las restricciones.
xi>=0
Min Z =10x1+9x2
Sujeto a x1<=8
X2 <=10
5x1+3x2>=45
PROBLEMAS DE TRANSPORTE
1.-) Una compañía de conservas tiene 2 plantas de producción. Tres cultivadores le surten
de fruta fresca en las siguientes cantidades
Problemas 9
Andrés: 400 toneladas a 8000 unidad
Hacia
Felipe 2 2.5
Carrascal 1 1.5
Andrés 5 3
2.-) Se pretende distribuir a los estudiantes de tres barrios de una ciudad (A,B,C) entre 4
colegios (E,O,N,S). Hay 50 estudiantes en cada barrio y los colegios admiten 20,40,30 y
60 estudiantes, respectivamente. El coste de tranporte en autobús viene dado en la
siguiente tabla
COLEGIOS
BARRIOS E O N S
A 7 6 5 4
B 9 7 3 6
C 8 8 7 3
3.-) Desde 3 pantanos se envía agua a 4 ciudades. La capacidad de los pantanos es de 15,
20 y 25 millones de litros diarios. Las demandas de las ciudades es de 8, 10, 12 y 15. El
coste de bombeo por millón de litros está dado en la siguiente tabla:
Problemas 10
CIUDAD
PANTANO A B C D
1 2 3 4 5
2 3 2 5 2
3 4 1 2 3
Utilizando el algoritmo del transporte, planificar los envíos de agua a las ciudades con el
mínimo coste.
D1 D2 D3 D4 D5 Existencias
01 14 16 17 12 18 120
02 18 12 21 16 22 190
03 20 15 19 18 19 60
04 17 13 25 20 21 160
80 100 120 110 60
En donde cada uno de los números de la matriz denota el coste unitario de transporte del
origen al destino correspondiente y los restantes números las existencias y las demandas.
Plantear la tabla de transporte con la que empezar a resolver el problema (No
resolverlo), teniendo en cuenta que no se pueden transportar más de 70 unidades desde
O1 hasta D4.
PROBLEMAS DE ASIGNACIÓN
1.-) Una escuela de Ingeniería decide realizar seminarios sobre 4 temas de actualidad.
Estos seminarios se realizarán una vez por semana. Al planificarlos, se ha procurado que
el número de estudiantes que no pueda asistir a un seminario sea mínimo. Un cuidadoso
estudio indica que el número de estudiantes que no pueden asistir a un seminario
particular un día específico es el siguiente
2.-) Para realizar 4 tareas (A,B,C,D), un empresario dispone de 3 empleados, cada uno de
los cuales cobra las siguientes cantidades por realizar cada tarea.
Problemas 11
A B C D
1 10 12 8 15
2 14 18 16 12
3 18 15 16 14
Para poder realizar las cuatro tareas, el empresario puede optar entre: a) contratar a un
nuevo empleado, que cobraría 20 por realizar cualquier tarea, o b) que uno de sus
empleados realice 2 tareas, una de ellas en horas extraordinarias, de forma que tendría
que pagarle un 20 por ciento más que si la realizara en horario normal.
Determinar cuál de las 2 opciones es más ventajosa para el empresario, y
determinar la asignación de los empleados a las tareas, de forma que el coste total sea
mínimo.
3.-) Un millonario tiene 4 hijas muy feas, que no logran conseguir marido. Después de
muchos avatares, consigue convencer a 4 incautos, sobornándoles de acuerdo a los
gustos de cada uno, para que se casen con ellas. La cantidad de millones que tendrá que
pagar a los interesados amantes según con quien elijan casarse viene dado en la siguiente
tabla
Decidir los emparejamientos que comporten el menor gasto para el sufrido padre
Problemas 12
Referencia Histórica de la Investigación Operativa
Proceso Introductorio
Las diferentes ciencias han de ser comprendidas con profundidad antes de poder ser
analizadas desde un punto de vista histórico. Quizás no sea fácil establecer los orígenes
de la Investigación Operativa, porque no se tuvo conciencia de la misma hasta mucho
más tarde de que algunas de sus ramas nacieran y se desarrollaran. No obstante, es
necesario relacionar el alumbramiento de la Investigación de Operaciones, por lo menos
nominalmente, con el transcurso de la II Guerra Mundial. Por esta razón, hemos de
pensar en los orígenes de la ciencia operacional como en los de una técnica de
naturaleza militar.
Dichos orígenes han supuesto una impronta decisiva en el tratamiento de las técnicas
operacionales. En este sentido, cuando se pretende trazar una historiografía de una
ciencia es muy importante delimitar la frontera de la misma en los terrenos conceptual e
histórico.
Historia 1
vuelven a plantear de nuevo las cuestiones organizativas y aparecen diversos estudios
sobre costes y sobre control de existencias.
No es fácil establecer otros hitos acerca de la organización hasta el siglo XVIII, cuando
Pierre de Montmort inicia sus primeras ideas directivas que luego dan lugar a la teoría
de juegos.
Es hacia 1935 cuando Inglaterra se da cuenta de que necesita dar una respuesta
adecuada al creciente poderío militar alemán. Por esta razón, el gobierno inglés urge a
un grupo de científicos a que realicen experimentos que conduzcan a un mejor control
del espacio aéreo. Fruto de esta experimentación aparece el radar, que constituye el
inicio de la lucha por la supremacía aérea. Este grupo de investigadores tomó su base en
Bawdsey, y por esta razón se llamó grupo de Bawdsey.
Historia 2
La batalla de Inglaterra se recrudece en el otoño de 1940. Por esta razón, se
solicita la ayuda de P.M.S. Blackett, un físico que después conseguirá el Premio Nobel
por sus trabajos en rayos cósmicos, con objeto de establecer una sección de
Investigación Operativa dentro de los comandos de acción de la RAF. Del mismo modo,
Blackett fue consultado en diciembre de 1941, sobre la posibilidad de constituir una
sección similar dentro de la Armada. Dicha sección fue constituida en enero de 1942.
Los dos primero miembros del grupo eran fisiólogos, otros dos eran físicos-
matemáticos, un astrofísico, un oficial del Ejército y un ex-topógrafo. El equipo se
completó más tarde con un tercer fisiólogo, un físico general y dos matemáticos. Se les
conoció como el “ Circo de Blackett “, Es evidente que en este grupo de 11 científicos
se tenía una amplia gama de disciplinas. El grupo creció y luego se dividió en dos, uno
del Ejército y otro de la Marina, con lo cual, las fuerzas militares de la Gran Bretaña
tuvieron todas un grupo de investigación de operaciones encargado de la investigación
militar.
No puede decirse que las potencias del Eje hicieran uso de las técnicas
operacionales durante la II Guerra Mundial, mientras que el número de científicos e
investigadores involucrados en Investigación Operativa en la contienda por parte de
ingleses, americanos y canadienses superó los setecientos. Las aportaciones que
hicieron todos estos investigadores supusieron un giro copernicano en la manera de
concebir la Ciencia de la Gestión en los años siguientes. De alguna manera, todos estos
estudiosos que trabajaban de manera aislada en los años treinta se aglutinaron
holísticamente con ocasión de la guerra, y produjeron un conjunto de técnicas y teorías
que ocasionaron el alumbramiento de la Investigación de Operaciones como ciencia.
El sónar
("Sound navigation ranging") Técnica para detectar y determinar la distancia y
dirección de objetos bajo el agua mediante señales acústicas. Las ondas sonoras
emitidas por o reflejadas desde el objeto son detectadas por el aparato de sónar y
analizadas para extraer la información.
Historia 3
-
Historia 4
Historia 5
Bletchley Park es el nombre de una instalación militar localizada en Buckinghamshire, Inglaterra en la
que se realizaron los trabajos de descifrado de códigos alemanes durante la Segunda Guerra Mundial.
Recibe su nombre de la mansión victoriana que domina el enclave. La primera computadora Colossus fue
diseñada y construida en Bletchley Park permitiendo romper los códigos de la máquina alemana Enigma.
Existía un centro, en otro pueblo, dónde interceptaban las señales de radio de los
alemanes, con multitud de antenas para la intercepción. Posteriormente se hacían 2
copias; una se quedaba en este centro y la otra se enviaba a Bletchley para su
descifrado. Ahí el trabajo se dividía en la que se denominaban cabañas, con numeración
para cada una de ellas, cabaña 1, cabaña 2,...Dentro de las cabañas se dividían en
sectores, y los sectores en secciones. El personal era civil y era reclutado en función de
sus aptitudes para cada una de las secciones, sectores y cabaña correspondiente, yendo
de la gente de la cabaña 8 con gente que se dedicaba a descifrar los mensajes alemanes
con analistas en criptografía, que provenían de distintas nacionalidades y también de
distintas disciplinas como matemáticos, físicos, ... , como también ocurre en
Investigación de Operaciones que está integrada por distintas disciplinas; mientras que
la cabaña 2 se dedicaba únicamente a pasar los textos y a archivar información, con
personal mayoritariamente femenino, aún pudiendo tener aptitudes para estar en cabaña
8 pero por ser mujeres se las relegaba a puestos administrativos.
El director de la sección naval enigma era Alan Turing.
Historia 6
Después de la guerra, su carrera profesional de Turing se vio truncada cuando
lo procesaron por su homosexualidad. En 1952 Arnold Murray, el amante de Turing,
ayudó a un cómplice a entrar en la casa de Turing para robarle. Turing acudió a la
policía a denunciar el delito. Como resultado de la investigación policial, Turing fue
acusado de mantener una relación sexual con un varón de 19 años y se le imputaron los
cargos de "indecencia grave y perversión sexual". Convencido de que no tenía de qué
disculparse, no se defendió de los cargos y fue condenado. Según su ampliamente
difundido proceso judicial, se le dio la opción de ir a prisión o de someterse a un
tratamiento hormonal de reducción de la libido. Finalmente escogió las inyecciones de
estrógenos, que duraron un año y le produjeron importantes alteraciones físicas, como la
aparición de pechos o un apreciable aumento de peso, y que además le convirtieron en
impotente. Dos años después del juicio, en 1954, murió por envenenamiento con
cianuro, aparentemente tras comerse una manzana envenenada que no llegó a ingerir
completamente. La mayoría piensa que su muerte fue intencionada y se la consideró
oficialmente como un suicidio
El sitio Number 10 es, según ellos mismos dicen, el sitio oficial del Primer Ministro del Reino Unido.
No el sitio de Gordon Brown sino el de todos los primeros ministros que han habitado la casa que
está en Downing Street número 10 desde 1721. A través de ese canal, la gente puede entre otras
cosas enviar peticiones, y la más bullada del último tiempo fue la exigencia, 55 años después de
su muerte, de disculpas públicas para Alan Turing.
Historia 7
Este señor, para los que no lo sepan, trabajó con el gobierno británico durante la segunda guerra
mundial desencriptando códigos interceptados a la Alemania nazi, una tarea a través de la cual
desarrolló gran parte de lo que hoy conocemos como ciencias de la computación. Estableció las
bases para distintas líneas de estudio que hoy son nuestra fuente de trabajo: la cibernética, la
inteligencia artificial, el concepto de algoritmo y diagrama de flujo para ejecución de programas y
la Tésis de Church-Turing que a su modo es la piedra pilar de la computación actual.
Alan Turing tuvo un final muy triste, luego de que reconociera abiertamente su homosexualidad -a
la sazón un delito en el Reino Unido- y fuera condenado a la castración química, una circunstancia
que lo llevó al suicidio un par de años más tarde.
Ayer, Gordon Brown emitió un comunicado reconociendo que el trato recibido por Alan Turing fue
inaceptable. En un extenso comunicado recorre someramente los méritos de Turing para cerrar
diciendo: “Lo siento Alan Turing, merecías algo mucho mejor”.
Historia 8
El Proyecto Manhattan
Muy importante para estos proyectos fue la labor dirigida por Fermi en el
Laboratorio Metalúrgico de la Universidad de Chicago, que culminó con la puesta en
marcha en diciembre de 1942 del primer reactor nuclear. Inmediatamente después de
este logro, el gobierno norteamericano destinó 400 millones de dólares al Proyecto
Manhattan. Los costos totales se estiman en unos 3 000 millones de dólares.
Historia 9
Fermi
Einstein,
Historia 10
Oppenheimer
Niels Bohr y Albert Einstein debatiendo la teoría cuántica en casa de Paul Ehrenfest en Leiden
(deciembre de 1925).
Es muy difícil condensar en unas líneas todo lo que han supuesto las décadas
anteriormente mencionadas para la ciencia operacional, habida cuenta de su importancia
y de la riqueza de trabajos producidos. Realmente, se ha construido más ciencia
operacional durante estos
Historia 11
años que en todo el resto de la historia de la humanidad. Puede decirse, por tanto, que la
verdadera historia de la Investigación Operativa se ha desarrollado durante este período:
se han establecido líneas de investigación, han aparecido sociedades profesionales, se
han creado revistas de investigación, se han publicado libros y se ha incluido la materia
dentro del currículum educativo.
Una vez finalizó la segunda guerra mundial y habida cuenta del éxito cosechado
por las técnicas operativas, éstas continuaron desarrollándose dentro del ámbito militar,
puesto que era el ejército quien poseía la mayor parte de los investigadores y quien
estaba interesado en proseguir dicha línea de trabajo. A mediados de los años cincuenta
se desplazó el centro de gravedad de interés de la Investigación Operativa, y alcanzó el
terreno industrial y el académico. Aparece el interés por la Ciencia de la Gestión
(Management Science). En la década de los setenta, ha continuado el desarrollo
expansivo de la Investigación Operativa, llegando al ámbito de la administración
pública, tratando los siguientes tipos de problemas: transporte urbano, administración de
justicia, construcción de edificios públicos, educación, hospitales y servicios sociales.
De esta manera, el peso investigador de la Investigación Operativa se desplaza desde el
Reino Unido a los Estados Unidos, en donde se constituyen diversos institutos y
organizaciones de estudio, como The Urban Institute (1968) y The New York City-
Rand Institute (1969). También, son muchas las empresas que, a partir de los años
cincuenta, se ayudan de técnicas operativas para diseñar sus políticas de producción y
de distribución.
Por ejemplo, a partir de una encuesta que realiza Turban en 1972 en Estados
Unidos sobre las 500 empresas más importantes del país (de acuerdo con la revista
Fortune), se deduce que la mitad de las empresas que contestaron la encuesta poseían un
departamento especial dedicado a tareas de Investigación de Operaciones o Ciencia de
la Administración. No obstante, la Investigación Operativa forma cada día más, una
parte de las actividades normales de la empresa moderna y, por tanto, ya no se trata de
una función especializada que deba llevarse a cabo en un departamento separado. De
acuerdo con este estudio las técnicas operacionales más empleadas eran el análisis
estadístico, la simulación, la programación lineal, la teoría de inventarios y la
programación dinámica. Otras técnicas empleadas, aunque de menor uso, eran la
programación no lineal, las líneas de espera, la teoría de juegos, el análisis de decisión
de Bayes y la programación entera.
Historia 12
La Programación Matemática ha formado parte de la Investigación Operativa
desde la constitución de la misma como ciencia hasta la actualidad. Sin embargo,
muchos de los problemas tratados por la Programación Matemática eran conocidos
desde mucho antes. Grandes matemáticos de los siglos XVIII y XIX, como Euler,
Gauss y Lagrange trabajaron en problemas de optimización con restricciones y
establecieron las primeras condiciones de optimalidad. Lo cual quiere decir que los
problemas que la Programación Matemática planteaba en los años cuarenta de nuestro
siglo no eran nuevos en su formulación, pero sí en su enfoque. Los métodos
matemáticos clásicos no estaban pensados para una resolución en dimensiones altas,
como iban a requerir las nuevas necesidades industriales. Esta fue la aportación de la
ciencia operacional, máxime cuando se desarrollaron las técnicas computacionales que
permitieron hacer realidad el cálculo rápido y a gran escala. La Investigación Operativa
supuso un giro copernicano en la manera de tratar los programas matemáticos. Se
implementaron algoritmos que computacionalmente eran más eficientes que los clásicos
y, de esta manera, problemas que tradicionalmente habían sido complejos, ahora
resultaron asequibles.
George Bernard Dantzig nació en 1914 y murió en 2005. Su padre era profesor de Matemáticas, se retiró dejando su
puesto de Jefe del Departamento de Matemáticas en la Universidad de Maryland poco después de la Segunda Guerra
Mundial. Su madre era una lingüista especializada en idiomas eslavos. Dantzig estudió su carrera en la Universidad de
Maryland, donde se graduó en 1936. Le disgustaba el hecho de no haber visto "ni una sola aplicación en alguno de los
cursos de Matemáticas que había tomado en Maryland". Al año siguiente hizo estudios de posgrado en la escuela de
Matemáticas de la Universidad de Michigan. Sin embargo, exceptuando la Estadística, le pareció que los cursos eran
demasiado abstractos; "tan abstractos, que él sólo deseaba una cosa: abandonar sus estudios de posgrado y conseguir
Historia 13
un trabajo".
En 1937 Dantzig dejó Michigan para trabajar como empleado en Estadística en el Bureau of Labor Statistics. Dos años
después se inscribía en Berkeley para estudiar un Doctorado en Estadística.
La historia de la tesis doctoral de Dantzig es ahora parte del anecdotario de las Matemáticas. Durante su primer año en
Berkeley, llevó un curso de Estadística con el famoso Jerzy Neymann. En una ocasión llegó tarde a una de las clases de
Neymann. En la pizarra estaban escritos dos problemas que él supuso eran problemas de tarea. Dantzig,
consecuentemente, los copió y los resolvió, aun cuando le parecieron "un poco más difíciles que los problemas
ordinarios". Unos días después se los entregó a Neymann, disculpándose por haber llegado tarde.
Aproximadamente seis semanas después -a las 8:00 de un domingo por la mañana-, Neymann llegó aporreando la puerta
de Dantzig, explicándole que había escrito una introducción a uno de los artículos de Dantzig y que quería que la leyera a
fin de poder enviar el artículo para su publicación. Los dos "problemas de tarea" que Dantzig había resuelto eran, en
realidad, dos famosos problemas no resueltos de la Estadística. Las soluciones de estos problemas se convirtieron en su
tesis doctoral, a sugerencia de Neymann.
NOTA: Parece ser que esta anécdota inspiró escenas de la película que lanzó a la fama a Matt Damon “El indomable Will
Hunting”. Lo que el propio Dantzig reveló es que se trata de una leyenda urbana, pues dista mucho de la realidad.
Poco después del comienzo de la Segunda Guerra Mundial se unió a la Fuerza Aérea de Estados Unidos y trabajó con el
Combat Analysis Branch of Statistical Control. En 1946, Después de recibir su Doctorado, regresó a la Fuerza Aérea como
el asesor de Matemáticas del U. S. Air Force Controller. Fué en ese trabajo donde encontró los problemas que le llevaron
a hacer sus grandes descubrimientos. La Fuerza Aérea necesitaba una forma más rápida de calcular el tiempo de duración
de las etapas de un programa de despliegue, entrenamiento y suministro logístico.
El trabajo de Dantzig generalizó lo hecho por el economista, ganador del Premio Nobel, Wassily Leontief. Dantzig pronto
se dio cuenta de que los problemas de planeación con los que se encontraba eran demasiado complejos para las
computadoras más veloces de 1947 (y aun para las de la actualidad). La siguiente es la explicación de Dantzig acerca de
las dificultades que tuvo que encarar: "Un ejemplo sencillo ilustra la dificultad fundamental de formular un problema de
planeación utilizando un enfoque de análisis de actividades. Considere el problema de asignar 70 hombres a 70 empleos.
Una "actividad" consiste en asignar el iésimo hombre al jésimo empleo. Las restricciones son dos: en primer lugar hay 70
hombres, cada uno de los cuales debe asignarse a un puesto y en segundo lugar, cada uno de los 70 puestos existentes
debe estar ocupado. El nivel de una actividad puede ser 1, lo cual indica que está siendo usada, o 0, lo cual significa que
no. En consecuencia hay 2 x 70 = 140 restricciones y 70 x 70 = 4900 actividades con 4900 variables correspondientes de
decisión uno-cero. Por desgracia también hay factorial de 70 permutaciones o formas de hacer las asignaciones. El
problema consiste en comparar el factorial de las 70 formas y elegir la que sea la óptima o "mejor" según algún criterio
Historia 14
previamente establecido.
En el ejemplo anterior,factorial de 70 es un número muy grande. A fin de tener una idea de qué tan grande es,
supóngase que se hubiese tenido una computadora IBM del tipo mainframe en el instante en el que ocurrió el Big Bang
hace quince millones de años. ¿Habría podido, entre ese entonces y ahora, examinar todas las soluciones posibles? ¡No!
No obstante, supóngase que se hubiese tenido una computadora aun más poderosa, una que pudiese examinar mil
millones de asignaciones por segundo. La respuesta seguiría siendo negativa. Aún si la tierra se llenase con computadoras
cuyas rapideces fueran de nanosegundos, todas ellas trabajando en paralelo, la respuesta aún sería no. Sin embargo, si
existiesen diez tierras, todas llenas con computadoras del tipo mencionado, todas programadas en paralelo desde el
instante del Big Bang hasta que el sol fuese una esfera fría, entonces quizás la respuesta podría ser sí. Lo notable es que
el método símplex, con la ayuda de una computadora moderna, puede resolver este problema en una fracción de
segundo".
Antes de que Dantzig pudiese descubrir el método símplex, le fue necesario primero tener un modelo práctico de
Programación Lineal. He aquí la descripción de Dantzig del proceso: "Cuando el problema de la planeación fue formulado
inicialmente para la Fuerza Aérea, no existía la noción exacta de una función objetivo, la idea de una meta claramente
definida. Por supuesto, teníamos sólo un falso respeto hacia el concepto de objetivo. En el discurso de los militares
escuché a menudo decir, "nuestro objetivo es ganar la guerra" En el mundo de los negocios se escucharía quizás "nuestro
objetivo es obtener ganancias". Sin embargo, era imposible hallar alguna relación directa entre la meta establecida y las
acciones emprendidas para tal fin. Si se estudiaba con cuidado el paso siguiente, se podía ver que algún líder había
promulgado un montón de reglas básicas que, en su concepto, llevarían hacia la meta. Esto distaba mucho de lo que sería
honestamente estudiar todas las combinaciones alternativas de las acciones para elegir la mejor combinación. Los que
mandan generalmente mueven las manos y dicen "He considerado todas las alternativas", pero es casi siempre basura.
Lo más probable es que no pudiesen estudiar todas las combinaciones. Antes de 1947 era inconcebible pensar en la
existencia de una herramienta como la Programación Lineal que permitiese examinar millones de combinaciones. No
había algoritmo o herramienta computacional que pudiera hacer eso.
No descubrí el modelo de la Programación Lineal en un instante, sino que tuvo un proceso de evolución. Se dedicó casi un
año completo a la tarea de decidir si mi modelo podría ser utilizado en la formulación de problemas prácticos de
distribución de tiempos. Como usted sabe, la planeación y la distribución de tiempos se llevaron a una escala inmensa
durante la guerra.El funcionamiento de la Fuerza Aérea fue equivalente al funcionamiento de la economía de toda una
nación. En el proceso intervinieron cientos de miles de personas. La logística tuvo una magnitud difícil de entender para
alguien que no haya estado ahí. Mi colega Marshall Wood y yo revisamos miles de situaciones tomadas de nuestra
experiencia durante la guerra.
Esta intuición llevó a la primera formulación del método símplex en el verano de 1947. El primer problema práctico que se
resolvió con este método fue uno de nutrición (el famoso problema de la dieta).
El 3 de octubre de l947 Dantzig visitó el Institute for Advanced Study donde conoció a John von Neumann, quien por
entonces era considerado por muchos como el mejor Matemático del mundo. Von Neumann le platicó a Dantzig del
trabajo conjunto que estaba realizando con Oscar Morgenstern acerca de la teoría de juegos. Fue entonces cuando
Dantzig supo por primera vez del importante teorema de la dualidad.
En 1976 el presidente Gerald Ford otorgó a Dantzig la Medalla Nacional de Ciencias, que es la mención más alta de los
Estados Unidos en Ciencia. En la ceremonia en la Casa Blanca se citó a George Bernard Dantzig "Por haber inventado la
Programación Lineal, por haber descubierto métodos que condujeron a aplicaciones científicas y técnicas en gran escala a
problemas importantes en logística, elaboración de programas, optimización de redes y al uso de las computadoras para
hacer un empleo eficiente de la teoría matemática".
Historia 15
FOTO DE G. B. DANTZIG Y L. G. KHACHIAN
Historia 16
Robert Dorfman, Paul Samuelson y Robert Solow (1958), o las de David Gale (1960), o
bien las de Gérard Debreu (1963).
Historia 17
Karmarkar sobre el simplex son notables (factores entre 10 y 50 son comunes). No
obstante, esta situación no supone la supremacía del método de Karmarkar en todo tipo
de problemas. No hay que olvidar que para problemas de dimensión pequeña, el método
simplex es más intuitivo y fácil de aplicar.
Es llamativo que los problemas que hasta hace unos años necesitaban de
computadoras de tamaño medio, ahora sean resolubles mediante ordenadores
personales. En la actualidad, prácticamente cualquier usuario de la Investigación
Operativa puede resolver problemas lineales mediante LINDO (u otro paquete
informático semejante) en un ordenador portátil.
En los años noventa fueron apareciendo otras utilidades informáticas, como son
las hojas de cálculo y sus complementos asociados, capaces de resolver programas
lineales. Entre algunos de estos complementos se pueden citar los siguientes: Solver,
VINO, What's Best? y XA. Casi todas estas utilidades fueron construidas por IBM para
sus propias computadoras, sin embargo, poco a poco, se van obteniendo versiones para
Macintosh.
Aunque estas son las más recientes aplicaciones informáticas de los últimos
cinco años, en los próximos años se mejorarán, a la vez que se extenderán los lenguajes
y paquetes informáticos que permitirán resolver con relativa facilidad problemas de
programación lineal complejos.
Películas relacionadas:
Enigma (2001). Director: Michael Apted. Dougray Scott, Kate Winslet, Saffron
Burrows, Jeremy Northam, Corin Redgrave, Tom Hollander, Nikolaj Coster-Waldau, Donald Sumpter,
Matthew Macfadyen
Historia 18
U-571 (2000). Director: Jonathan Mostow. Matthew McConaughey, Bill Paxton, Harvey
Keitel, Jon Bon Jovi, David Keith, Thomas Kretschmann, Jake Weber, Jack Noseworthy
Una mente maravillosa (2001). Director: Ron Howard. Russell Crowe, Jennifer
Connelly, Ed Harris, Paul Bettany, Adam Goldberg, Christopher Plummer, Judd Hirsch, Josh Lucas,
Anthony Rapp
Otras:
Sobre Hitler:
Hitler, el reinado del mal (2003). DIRECTOR Christian Duguay Robert Carlyle, Stockard
Channing, Jena Malone, Julianna Margulies, Matthew Modine, Liev Schreiber, Peter Stormare, Friedrich
von Thun, Peter O'Toole
Pearl Harbor (2001) DIRECTOR Michael Bay REPARTO Ben Affleck, Josh
Hartnett, Kate Beckinsale, Cuba Gooding Jr., Alec Baldwin, Jon Voight, Tom
Sizemore, Dan Aykroyd, Colm Feore, Cary-Hiroyuki Tagawa, Matthew Davis, Ewen
Bremner, Jaime King, William Fichtner, John Diehl, Leland Orser, Tomas Arana,
Jennifer Garner
Tora! Tora! Tora! (1970) DIRECTOR Richard Fleischer, REPARTO Jason Robards,
Martin Balsam, Soh Yamamura, Tatsuya Mihashi, E.G. Marshall, Joseph Cotten, James
Whitmore, George Macready, Neville Brand
La batalla de Midway (1976). DIRECTOR Jack Smight REPARTO Charlton Heston, Edward
Albert, Henry Fonda, James Coburn, Glenn Ford, Robert Mitchum, Toshiro Mifune, Hal Holbrook, Cliff
Robertson, Robert Wagner
Creadores de Sombras (1990) DIRECTOR Roland Joffé REPARTO Paul Newman, Dwight Schulz,
Laura Dern, Bonnie Bedelia, John Cusack, Natasha Richardson, John McGinley, Ron Vawter, Ron
Frazier, Clark Gregg
Historia 19
INVESTIGACIÓN OPERATIVA:
Es la aplicación del método científico para asignar los recursos o actividades de forma
eficaz, en la gestión y organización de sistemas complejos
Z=c1x1+c2x2+...+cnxn
a11x1+a12x2+...+a1nxn (≤, ≥, =) b1
a21x1+a22x2+...+a2nxn (≤, ≥, =) b2
...
am1x1+am2x2+...+amnxn (≤, ≥, =) bm
m filas o ecuaciones y n variables o incógnitas
MODELO A B C
Trabajo
7 3 6
(horas/unidad)
Material
4 4 5
(titanio/unidad)
Beneficios (por
unidad 40$ 20$ 30$
fabricada)
2. Restricciones:
Las restricciones vienen dadas por los límites de disponibilidad de los dos
recursos: trabajo y material.
3. Función objetivo:
Sujeto a:
7X1+3X2+6X3 ≤150
4X1+4X2+5X3 ≤200
X1 ≥ 0
X2 ≥ 0
X3 ≥ 0
a) x1=8
Satisface las restricciones
x2=10
b) x1=7
Satisface las restricciones
x2=9
Z(a)=40•8+36•10=680 Z(b)=40•7+36•9=604
Gráficamente:
x1=0 Æ x2=15
x1=9 Æ x2=0
· La región factible será el triángulo formado por los puntos A, B y C, con los bordes
incluidos.
Z= -36
40 x1+36 x2=-36 x1= 0 Æ x2= -1
x2= 0 Æ x1= -36/40 = -9/10
· Hemos de probar en qué parte esta ecuación nos da el valor óptimo. Como
estamos minimizando, queremos que nos dé el menor valor posible. Gráficamente
esto supone bajar la recta lo más posible en la región factible:
Max Z = x2
Sujeto a 2x1 - x2 ≥ -2
x1 + 2x2 ≤ 8
x1, x2 ≥ 0
x1= 0 Æ x2= 2
2x1 - x2= -2 x2= 0 Æ x1= -1
x1 + 2x2= 8
x1= 0 Æ x2= 4
x2= 0 Æ x1= 8
Max Z = x2
No hay intersección entre los dos planos Æ no hay ninguna solución que
cumpla las restricciones.
R=Ø
En notación matricial:
Maximizar Z = cX
(minimizar)
AX = b
X≥0
(b ≥ 0)
siendo:
a11 a12 ... a1n
A= a21 a22 ... a2n
(m x n)
... ... ... ...
am1 am2 ... amn
x1 b1
X= x2 b2
(n x 1) b=
... (m x 1) ...
xn bm
A ≡ matriz de coeficientes
X ≡ vector solución, de actividades o decisiones
b ≡ vector de restricciones, recursos o constantes de la derecha
c ≡ vector de costes o beneficios o coeficientes de la función del objetivo
d - x1 + x2 + x3 ≤ 10 ⇒ -y1 - y2 + y3 - y4 + y6 = 10, y6 ≥ 0
-3y1 - y2 - y3 + y4 – y5 = 5
-y1 - y2 + y3 - y4 + y6 = 10
-3y1 + y2 + 2y3 – 2y4 = 7
yi ≥ 0 ∀i= 1, ..., 6
(a) (-1)
2x1 - x2 + x3 - x4 + x5 = 2 Sistema equivalente al anterior
(b) = x1 + 2x2 + 3x3 - x4 + 2x5 = 4
(a) ½
x1 - ½ x2 + ½ x3 - ½ x4 + ½ x5 = 1
(b) – (a) Sistema equivalente al anterior
5/2 x2 + 5/2 x3 – ½ x4 + 3/2 x5 = 3
x1 - ½ x2 + ½ x3 - ½ x4 + ½ x5 = 1
(b) 2/5 Sistema equivalente al anterior
x2 + x3 - 1/5 x4 + 3/5 x5 = 6/5
(a) + ½ (b)
x1 + x3 - 6/10 x4 + 6/10 x5 = 16/10 Sistema equivalente al anterior
x2 + x3 - 1/5 x4 + 3/5 x5 = 6/5
(ejemplo anterior)
x3 = x5 = x6 = 0
x1 = 5, x2 = 4, x4 = 100/31
Si el sistema es:
a11x1 + a12x2 + ... + a1nxn = b1
a21x1 + a22x2 + ... + a2nxn = b2
... ...
am1x1 + am2x2 + ... + amnxn = bm
n>m
n Nº combinatorio, aunque sea muy grande
nº de sol básicas posibles ≤ siempre es finito
m
A partir de este sistema, mediante el pivotaje obtenemos un sistema canónico,
por tanto una variable básica en cada ecuación. Cada vértice de la figura es una
solución factible básica.
PASOS GENERALES:
1. Empezar con una solución factible básica (s.f.b.) inicial obtenida del
sistema de ecuaciones expresado en forma canónica.
2. Mejorar dicha solución si ello es posible.
3. Repetir hasta encontrar la mejor solución factible básica (solución
óptima).
x1 + 2x2 + 2x3 + x4 =8
3x1 + 4x2 + x3 + x5 = 7
Si x1=1 ⇒ x4 = 7, x5 = 4
Z = 5•1+2•0+3•0-1•7+1•4 = 2 No es sol. óptima, hay que calcular una
adyacente
Así pues el beneficio relativo de x1, ∆x1=1 Æ ∆Z = 2 – (-1) = 3
Si x1 = 7/3 ⇒ x5 = 0
x4 = 17/3 Sol. Fact. Básica adyacente de la
anterior
x2 = x3 = 0
y Z = 6 el valor de la función objetivo aumenta en 7 unidades
1. Empezar con una solución factible básica inicial obtenida a partir del
sistema de restricciones en forma canónica.
2. Comprobar si la solución factible básica es óptima. Para ello calcular
los beneficios relativos de las variables no básicas (éstos representan
el cambio neto en el valor de la función del objetivo por unidad
aumentada en dicha variable).
Si estos beneficios relativos (de todas las variables no básicas) son ≤
0, la solución actual es óptima. En otro caso, seguir (hasta que se
cumpla lo anterior).
3. Seleccionar una variable no básica como nueva variable básica en la
solución. La regla general será seleccionar la variable no básica con
el mayor beneficio relativo.
4. Determinar la variable básica que sustituya a la no básica. Esto se
hace mediante la regla de la mínima proporción:
Examinamos las restricciones. Para aquellas en las que la
variable no básica tiene coeficiente positivo, el límite que puede
alcanzar dicha variable viene dado por el cociente entre la constante
de la derecha de dicha restricción y ese coeficiente positivo.
5. Resolver el nuevo sistema y volver al paso 2.
Cj 5 2 3 -1 1
CB Base x1 x2 x3 x4 x5 b ( ctes )
-1 x4 1 2 2 1 0 8
1 x5 3 4 1 0 1 7
De la tabla se obtiene:
variables básicas = ctes, el resto (no básicas) = 0.
x4 = 8
x5 = 7
x1 = x2 = x3 = 0
_ 8
Z = CB•b = (-1, 1) • 7 = -8+7 = -1
c j = c j − cB Pj
Columna de xj
_ 2
C2 = 2 – (-1,1) 4 = 2 – (-2+4) = 0 beneficio relativo
_ 2
C3 = 3 – (-1,1) 1 = 3 – (-2+1) = 4 (si x3 crece una unidad, Z crece 4)
_ _
C4 = C5 = 0 (siempre son 0, no hace falta calcularlo)
Tabla 1
Cj 5 2 3 -1 1
CB Base x1 x2 x3 x4 x5 b
-1 x4 1 2 2 1 0 8
1 x5 3 4 1 0 1 7
cj 3 0 4 0 0 Z = -1
_
Cj ≥ 0 ⇒ la s.f.b actual no es óptima
Tabla 2.
Cj 5 2 3 -1 1
CB Base x1 x2 x3 x4 x5 b
3 x3 ½ 1 1 ½ 0 4
1 x5 5/2 3 0 -½ 1 3
cj 1 -4 0 -2 0 Z = 15
b• •pivote
b•c
a' = a −
pivote
Tabla 3.
Cj 5 2 3 -1 1
CB Base x1 x2 x3 x4 x5 b
3 x3 0 2/5 1 3/5 -1/5 17/5
5 x1 1 6/5 0 -1/5 2/5 6/5
_
Cj 0 -26/5 0 -9/5 -2/5 Z = 81/5
x1 = 6/5 x2 = 0 x3 = 17/5 x 4 = x5 = 0
Z = 81/5 es el valor óptimo del problema
Cj 3 2 0 0 0
CB Base x1 x2 x3 x4 x5 b
0 x3 -1 2 1 0 0 4
0 x4 3 2 0 1 0 14
0 x5 1 -1 0 0 1 3
_
Cj 3 2 0 0 0 Z=0
x1 = 0, x2 = 0, x3 = 4, x4 = 14, x5 = 3 vértice A
Cj 3 2 0 0 0
CB Base x1 x2 x3 x4 x5 b
0 x3 0 1 1 0 1 7
0 x4 0 5 0 1 -3 5
3 x1 1 -1 0 0 1 3
_
Cj 0 5 0 0 -3 Z=9
x1 = 3, x2 = 0, x3 = 7, x4 = 5, x5 = 0 vértice B
x1 = 4, x2 = 1, x3 = 6, x4 = x5 = 0 _ vértice C
Z = 14 Solución optima (todos los Cj ≤ 0)
Equivalencias
cj 0 0 0 -1 0 Z = 14
Problemas de cálculo.
Empates en la selección de variables no básicas
cj . . . . • 7 .....•5•.....•7•.....•3•.....
<0 <0 <0
ci 0 0 0 2 0 3/2 Z=0
CB Base x1 x2 x3 x4 x5 x6 b
2 x4 1 0 0 1 -1 0 2
0 x2 -2 1 0 0 2 1 0
0 x3 -1 0 1 0 2 1 1
ci -2 0 0 0 2 3/2 Z=4
CB Base x1 x2 x3 x4 x5 x6 b
2 x4 0 1/2 0 1 0 1/2 2
0 x5 -1 1/2 0 0 1 1/2 0
0 x3 1 -1 1 0 0 0 1
ci
0 -1 0 0 0 1/2 Z=4
Soluciones no acotadas.
ci 2 3 0 0 Z=0
x1 = 0, x2 = 0 (vértice A)
CB Base x1 x2 x3 x4 b
0 x3 -2 0 1 1 6
0 x2 -3 1 0 1 4
ci 11 0 0 -3 Z = 12
x1 = 0, x4 = 4 (vértice B)
x4 = 0
x3 = 6 + 2x1 Si x1 crece, x3 y x2 nunca se hacen cero
x2 = 4 + 3x1
Ejemplo:
Min Z = -3x1 + x2 + x3
x1 - 2x2 + x3 ≤ 11
-4x1 + x2 + 2x3 ≥ 3
2x1 - x3 = -1
xi ≥ 0
No tenemos una variable básica por ecuación, por lo tanto no podemos empezar a usar el
simples. x4 es variable básica, pero x5 no es variable básica porque tiene coeficiente negativo.
Introducimos variables artificiales:
x1 - 2x2 + x3 + x4 = 11
-4x1 + x2 + 2x3 –x5 + x6 = 3 Sistema artificial
-2x1 + x3 + x7= 1
xi≥ 0
CB Base x1 x2 x3 x4 x5 x6 x7 b
0 x4 3 -2 0 1 0 0 -1 10
M x6 0 1 0 0 -1 1 -2 1
1 x3 -2 0 1 0 0 0 1 1
CB Base x1 x2 x3 x4 x5 x6 x7 b
0 x4 3 0 0 1 -2 2 -5 12
1 x2 0 1 0 0 -1 1 -2 1
1 x3 -2 0 1 0 0 0 1 1
CB Base x1 x2 x3 x4 x5 x6 x7 b
-3 x1 1 0 0 1/3 -2/3 2/3 -5/3 4
1 x2 0 1 0 0 -1 1 -2 1
1 x3 0 0 1 2/3 -4/3 4/3 -7/3 9
Zopt = -2
Fase 2: La tabla final de la fase 1 pasa a ser la inicial de la fase 2 cambiando la función del objetivo por la
original. Se aplica el simplex.
Nota. La fase 1 puede terminar con Wopt=0 y alguna variable artificial en la base (que tendrá valor
cero).
En este caso, se pasa a la fase 2 (escribiendo su Cj=0) y se procede a echarla de la base aunque
para ello se viole el criterio de salida.
En el momento en que haya salido de la base eliminamos su columna.
Cj 0 0 0 0 0 1 1
CB Base x1 x2 x3 x4 x5 x6 x7 b
0 x4 1 -2 1 1 0 0 0 11
1 x6 -4 1 2 0 -1 1 0 3
1 x7 -2 0 1 0 0 0 1 1
ci 6 -1 -3 0 1 0 0 W=4
CB Base x1 x2 x3 x4 x5 x6 x7 b
0 x4 3 -2 0 1 0 0 -1 10
1 x6 0 1 0 0 -1 1 -2 1
0 x3 -2 0 1 0 0 0 1 1
ci 0 -1 0 0 1 0 3 W=1
CB Base x1 x2 x3 x4 x5 x6 x7 b
0 x4 3 0 0 1 -2 2 -5 12
0 x2 0 1 0 0 -1 1 -2 1
0 x3 -2 0 1 0 0 0 1 1
ci 0 0 0 0 0 1 1 W=0
x1 = 0, x2 = 1, x3 = 1, x4 =12, x5 = x6 = x7 = 0
Cj -3 1 1 0 0
CB Base x1 x2 x3 x4 x5 b
0 x4 3 0 0 1 -2 12
1 x2 0 1 0 0 -1 1
1 x3 -2 0 1 0 0 1
ci -1 0 0 0 1 Z=2
CB Base x1 x2 x3 x4 x5 b
-3 x1 1 0 0 1/3 -2/3 4
1 x2 0 1 0 0 -1 1
1 x3 0 0 1 2/3 -4/3 9
ci
0 0 0 1/3 1/3 Z = -2
x1 = 4, x2 = 1, x3 = 9, x4 = x5 = 0 Zopt= -2
Fase 1: Min W = x7
Cj 0 0 0 0 0 0 1
CB Base x1 x2 x3 x4 x5 x6 x7 b
0 x5 4 6 3 0 1 0 0 8
0 x6 3 -6 -4 -1 0 1 0 1
1 x7 2 3 -5 -1 0 0 1 4
ci
-2 -3 5 1 0 0 0 W=4
CB Base x1 x2 x3 x4 x5 x6 x7 b
0 x2 2/3 1 1/2 0 1/6 0 0 4/3
0 x6 7 0 -1 -1 1 1 0 9
1 x7 0 0 -13/2 -1 -1/2 0 1 0
ci
0 0 13/2 1 1/2 0 0 W=0
Final fase 1.
Cj 2 1 1 0 0 0 0
CB Base x1 x2 x3 x4 x5 x6 x7 b
1 x2 2/3 1 1/2 0 1/6 0 0 4/3
0 x6 7 0 -1 -1 1 1 0 9
0 x7 0 0 -13/2 -1 -1/2 0 1 0
ci
4/3 0 1/2 0 -1/6 0 0 Z = 4/3
CB Base x1 x2 x3 x4 x5 x6 x7 b
1 x2 0 1 25/42 2/21 9/126 -2/21 0 10/21
2 x1 1 0 -1/7 -1/7 1/7 1/7 0 9/7
0 x7 0 0 -13/2 -1 -1/2 0 1 0
ci
0 0 29/42 4/21 -5/14 -4/21 0 Z = 64/21
CB Base x1 x2 x3 x4 x5 x6 x7 b
1 x2 0 1 0 1/273 1/39 -2/21 25/273 10/21
2 x1 1 0 0 -11/91 2/13 1/7 -2/91 9/7
1 x3 0 0 1 2/13 1/13 0 -2/13 0
ci
0 0 0 23/273 -16/39 -4/21 29/273 Z = 64/21
No prestamos atención
a esta columna
CB Base x1 x2 x3 x4 x5 x6 x7 b
1 x2 0 1 -1/42 0 1/42 -2/21 10/21
2 x1 1 0 11/14 0 3/14 1/7 9/7
0 x4 0 0 13/2 1 1/2 0 0
ci
0 0 -23/42 0 -19/42 -4/21 Z = 64/21
óptima
9 Otros métodos:
¾ Elipsoides (KHACHIAN).
(ejemplo anterior)
x3 = x5 = x6 = 0
x1 = 5, x2 = 4, x4 = 100/31
Si el sistema es:
a11x1 + a12x2 + ... + a1nxn = b1
a21x1 + a22x2 + ... + a2nxn = b2
... ...
am1x1 + am2x2 + ... + amnxn = bm
n>m
n Nº combinatorio, aunque sea muy grande
nº de sol básicas posibles ≤ siempre es finito
m
A partir de este sistema, mediante el pivotaje obtenemos un sistema canónico,
por tanto una variable básica en cada ecuación. Cada vértice de la figura es una
solución factible básica.
PASOS GENERALES:
5. Empezar con una solución factible básica (s.f.b.) inicial obtenida del
sistema de ecuaciones expresado en forma canónica.
6. Mejorar dicha solución si ello es posible.
7. Repetir hasta encontrar la mejor solución factible básica (solución
óptima).
x1 + 2x2 + 2x3 + x4 =8
3x1 + 4x2 + x3 + x5 = 7
Si x1=1 ⇒ x4 = 7, x5 = 4
Z = 5•1+2•0+3•0-1•7+1•4 = 2 No es sol. óptima, hay que calcular una
adyacente
Así pues el beneficio relativo de x1, ∆x1=1 Æ ∆Z = 2 – (-1) = 3
Si x1 = 7/3 ⇒ x5 = 0
x4 = 17/3 Sol. Fact. Básica adyacente de la
anterior
x2 = x3 = 0
y Z = 6 el valor de la función objetivo aumenta en 7 unidades
6. Empezar con una solución factible básica inicial obtenida a partir del
sistema de restricciones en forma canónica.
7. Comprobar si la solución factible básica es óptima. Para ello calcular
los beneficios relativos de las variables no básicas (éstos representan
el cambio neto en el valor de la función del objetivo por unidad
aumentada en dicha variable).
Si estos beneficios relativos (de todas las variables no básicas) son ≤
0, la solución actual es óptima. En otro caso, seguir (hasta que se
cumpla lo anterior).
8. Seleccionar una variable no básica como nueva variable básica en la
solución. La regla general será seleccionar la variable no básica con
el mayor beneficio relativo.
9. Determinar la variable básica que sustituya a la no básica. Esto se
hace mediante la regla de la mínima proporción:
Examinamos las restricciones. Para aquellas en las que la
variable no básica tiene coeficiente positivo, el límite que puede
alcanzar dicha variable viene dado por el cociente entre la constante
de la derecha de dicha restricción y ese coeficiente positivo.
10. Resolver el nuevo sistema y volver al paso 2.
Cj 5 2 3 -1 1
CB Base x1 x2 x3 x4 x5 b ( ctes )
-1 x4 1 2 2 1 0 8
1 x5 3 4 1 0 1 7
De la tabla se obtiene:
variables básicas = ctes, el resto (no básicas) = 0.
x4 = 8
x5 = 7
x1 = x2 = x3 = 0
_ 8
Z = CB•b = (-1, 1) • 7 = -8+7 = -1
c j = c j − cB Pj
Columna de xj
_ 2
C2 = 2 – (-1,1) 4 = 2 – (-2+4) = 0 beneficio relativo
_ 2
C3 = 3 – (-1,1) 1 = 3 – (-2+1) = 4 (si x3 crece una unidad, Z crece 4)
_ _
C4 = C5 = 0 (siempre son 0, no hace falta calcularlo)
Tabla 1
Cj 5 2 3 -1 1
CB Base x1 x2 x3 x4 x5 b
-1 x4 1 2 2 1 0 8
1 x5 3 4 1 0 1 7
cj 3 0 4 0 0 Z = -1
_
Cj ≥ 0 ⇒ la s.f.b actual no es óptima
Tabla 2.
Cj 5 2 3 -1 1
CB Base x1 x2 x3 x4 x5 b
3 x3 ½ 1 1 ½ 0 4
1 x5 5/2 3 0 -½ 1 3
cj 1 -4 0 -2 0 Z = 15
b• •pivote
b•c
a' = a −
pivote
Tabla 3.
Cj 5 2 3 -1 1
CB Base x1 x2 x3 x4 x5 b
3 x3 0 2/5 1 3/5 -1/5 17/5
5 x1 1 6/5 0 -1/5 2/5 6/5
_
Cj 0 -26/5 0 -9/5 -2/5 Z = 81/5
x1 = 6/5 x2 = 0 x3 = 17/5 x 4 = x5 = 0
Z = 81/5 es el valor óptimo del problema
Cj 3 2 0 0 0
CB Base x1 x2 x3 x4 x5 b
0 x3 -1 2 1 0 0 4
0 x4 3 2 0 1 0 14
0 x5 1 -1 0 0 1 3
_
Cj 3 2 0 0 0 Z=0
x1 = 0, x2 = 0, x3 = 4, x4 = 14, x5 = 3 vértice A
Cj 3 2 0 0 0
CB Base x1 x2 x3 x4 x5 b
0 x3 0 1 1 0 1 7
0 x4 0 5 0 1 -3 5
3 x1 1 -1 0 0 1 3
_
Cj 0 5 0 0 -3 Z=9
x1 = 3, x2 = 0, x3 = 7, x4 = 5, x5 = 0 vértice B
x1 = 4, x2 = 1, x3 = 6, x4 = x5 = 0 _ vértice C
Z = 14 Solución optima (todos los Cj ≤ 0)
Equivalencias
cj 0 0 0 -1 0 Z = 14
Problemas de cálculo.
Empates en la selección de variables no básicas
cj . . . . • 7 .....•5•.....•7•.....•3•.....
<0 <0 <0
ci 0 0 0 2 0 3/2 Z=0
CB Base x1 x2 x3 x4 x5 x6 b
2 x4 1 0 0 1 -1 0 2
0 x2 -2 1 0 0 2 1 0
0 x3 -1 0 1 0 2 1 1
ci -2 0 0 0 2 3/2 Z=4
CB Base x1 x2 x3 x4 x5 x6 b
2 x4 0 1/2 0 1 0 1/2 2
0 x5 -1 1/2 0 0 1 1/2 0
0 x3 1 -1 1 0 0 0 1
ci
0 -1 0 0 0 1/2 Z=4
Soluciones no acotadas.
ci 2 3 0 0 Z=0
x1 = 0, x2 = 0 (vértice A)
CB Base x1 x2 x3 x4 b
0 x3 -2 0 1 1 6
0 x2 -3 1 0 1 4
ci 11 0 0 -3 Z = 12
x1 = 0, x4 = 4 (vértice B)
x4 = 0
x3 = 6 + 2x1 Si x1 crece, x3 y x2 nunca se hacen cero
x2 = 4 + 3x1
Ejemplo:
Min Z = -3x1 + x2 + x3
x1 - 2x2 + x3 ≤ 11
-4x1 + x2 + 2x3 ≥ 3
2x1 - x3 = -1
xi ≥ 0
No tenemos una variable básica por ecuación, por lo tanto no podemos empezar a usar el
simples. x4 es variable básica, pero x5 no es variable básica porque tiene coeficiente negativo.
Introducimos variables artificiales:
x1 - 2x2 + x3 + x4 = 11
-4x1 + x2 + 2x3 –x5 + x6 = 3 Sistema artificial
-2x1 + x3 + x7= 1
xi≥ 0
CB Base x1 x2 x3 x4 x5 x6 x7 b
0 x4 3 -2 0 1 0 0 -1 10
M x6 0 1 0 0 -1 1 -2 1
1 x3 -2 0 1 0 0 0 1 1
CB Base x1 x2 x3 x4 x5 x6 x7 b
0 x4 3 0 0 1 -2 2 -5 12
1 x2 0 1 0 0 -1 1 -2 1
1 x3 -2 0 1 0 0 0 1 1
CB Base x1 x2 x3 x4 x5 x6 x7 b
-3 x1 1 0 0 1/3 -2/3 2/3 -5/3 4
1 x2 0 1 0 0 -1 1 -2 1
1 x3 0 0 1 2/3 -4/3 4/3 -7/3 9
Zopt = -2
Fase 2: La tabla final de la fase 1 pasa a ser la inicial de la fase 2 cambiando la función del objetivo por la
original. Se aplica el simplex.
Nota. La fase 1 puede terminar con Wopt=0 y alguna variable artificial en la base (que tendrá valor
cero).
En este caso, se pasa a la fase 2 (escribiendo su Cj=0) y se procede a echarla de la base aunque
para ello se viole el criterio de salida.
En el momento en que haya salido de la base eliminamos su columna.
Cj 0 0 0 0 0 1 1
CB Base x1 x2 x3 x4 x5 x6 x7 b
0 x4 1 -2 1 1 0 0 0 11
1 x6 -4 1 2 0 -1 1 0 3
1 x7 -2 0 1 0 0 0 1 1
ci 6 -1 -3 0 1 0 0 W=4
CB Base x1 x2 x3 x4 x5 x6 x7 b
0 x4 3 -2 0 1 0 0 -1 10
1 x6 0 1 0 0 -1 1 -2 1
0 x3 -2 0 1 0 0 0 1 1
ci 0 -1 0 0 1 0 3 W=1
CB Base x1 x2 x3 x4 x5 x6 x7 b
0 x4 3 0 0 1 -2 2 -5 12
0 x2 0 1 0 0 -1 1 -2 1
0 x3 -2 0 1 0 0 0 1 1
ci 0 0 0 0 0 1 1 W=0
x1 = 0, x2 = 1, x3 = 1, x4 =12, x5 = x6 = x7 = 0
Cj -3 1 1 0 0
CB Base x1 x2 x3 x4 x5 b
0 x4 3 0 0 1 -2 12
1 x2 0 1 0 0 -1 1
1 x3 -2 0 1 0 0 1
ci -1 0 0 0 1 Z=2
CB Base x1 x2 x3 x4 x5 b
-3 x1 1 0 0 1/3 -2/3 4
1 x2 0 1 0 0 -1 1
1 x3 0 0 1 2/3 -4/3 9
ci
0 0 0 1/3 1/3 Z = -2
x1 = 4, x2 = 1, x3 = 9, x4 = x5 = 0 Zopt= -2
Fase 1: Min W = x7
Cj 0 0 0 0 0 0 1
CB Base x1 x2 x3 x4 x5 x6 x7 b
0 x5 4 6 3 0 1 0 0 8
0 x6 3 -6 -4 -1 0 1 0 1
1 x7 2 3 -5 -1 0 0 1 4
ci
-2 -3 5 1 0 0 0 W=4
CB Base x1 x2 x3 x4 x5 x6 x7 b
0 x2 2/3 1 1/2 0 1/6 0 0 4/3
0 x6 7 0 -1 -1 1 1 0 9
1 x7 0 0 -13/2 -1 -1/2 0 1 0
ci
0 0 13/2 1 1/2 0 0 W=0
Final fase 1.
Cj 2 1 1 0 0 0 0
CB Base x1 x2 x3 x4 x5 x6 x7 b
1 x2 2/3 1 1/2 0 1/6 0 0 4/3
0 x6 7 0 -1 -1 1 1 0 9
0 x7 0 0 -13/2 -1 -1/2 0 1 0
ci
4/3 0 1/2 0 -1/6 0 0 Z = 4/3
CB Base x1 x2 x3 x4 x5 x6 x7 b
1 x2 0 1 25/42 2/21 9/126 -2/21 0 10/21
2 x1 1 0 -1/7 -1/7 1/7 1/7 0 9/7
0 x7 0 0 -13/2 -1 -1/2 0 1 0
ci
0 0 29/42 4/21 -5/14 -4/21 0 Z = 64/21
CB Base x1 x2 x3 x4 x5 x6 x7 b
1 x2 0 1 0 1/273 1/39 -2/21 25/273 10/21
2 x1 1 0 0 -11/91 2/13 1/7 -2/91 9/7
1 x3 0 0 1 2/13 1/13 0 -2/13 0
ci
0 0 0 23/273 -16/39 -4/21 29/273 Z = 64/21
No prestamos atención
a esta columna
CB Base x1 x2 x3 x4 x5 x6 x7 b
1 x2 0 1 -1/42 0 1/42 -2/21 10/21
2 x1 1 0 11/14 0 3/14 1/7 9/7
0 x4 0 0 13/2 1 1/2 0 0
ci
0 0 -23/42 0 -19/42 -4/21 Z = 64/21
óptima
9 Otros métodos:
¾ Elipsoides (KHACHIAN).
El método revisado o método del simples con multiplicadores: Conceptos básicos. Vector de Multiplicadores.
Se basa en los mismos principios que el simplex, pero en cada iteración no se calcula toda la tabla, y la
información que se necesita para pasar de una solución factible básica a otra se obtiene directamente de las ecuaciones
originales.
El método del simplex revisado trabaja con la idea fundamental de que cualquier tabla del simplex
correspondiente a una solución factible básica puede generarse directamente de las ecuaciones originales por medio de
operaciones matriciales.
Max (o Min) Z = Cx
Ax = b
x≥0
x1
...
C = (C1, C2, ..., Cn) 1xn x= xm nx1
xn
a1j
a2j
A= [ P1 P2 … Pn ] Pj = … mx1
amj ∀j = 1, ..., n
Definición. Se llama matriz básica B a una submatriz B de A, formada por m columnas linealmente
independientes.
La idea fundamental del método del simplex revisado se basa en lo siguiente: Supongamos que tenemos una solución
factible con variables básicas xi1 ... xim. Asociadas a estas variables, se construye una matriz básica B como
⎛ X b ⎞ ⎛b ⎞
B = (Pi1 ... Pim) y la solución factible básica asociada como X = ⎜⎜ ⎟⎟ = ⎜⎜ ⎟⎟ siendo
⎝ XN ⎠ ⎝0⎠
matrix m x m
A= [ P1 P2 … P7]
1 -2 1 1 0 0
P1 = -4 P2 = 1 P3 = 2 P4 = 0 P5 = -1 P6 = 1
0 1 0 0 0 0
0 11
P7 = 0 b= 3
1 1
1 0 0
Base inicial { x4, x6, x7} ⇒ B = (P4 P6 P7 ) = 0 1 0
0 0 1
B-1 = I
La tabla 1 del método del simplex revisado será:
_
Base B-1 b
x4 1 0 0 11
A completar más
x6 0 1 0 3
adelante
x7 0 0 1 1
π = (π1, π2, π3) = CBB-1= (C4, C6, C7) B-1 = (0, M, M)•I = (0, M, M)
_ -2
C2 = 1 – (0, M, M) 1 =1–M
0
_ 1
C3 = 1 – (0, M, M) 2 = 1 – 3M
1
_ 0
C5 = 0 – (0, M, M) -1 =M
0
1 0 0 1 1
−1
P3 = B P3 = 0 1 0 2 = 2
0 0 1 1 1
Tabla 1.
_ _
Base B-1 Var. que entra
b Columna pivote P3
x4 1 0 0 11 1
x6 0 1 0 3 x3 2
x7 0 0 1 1 1
1 0 1
Nueva base {x4, x6, x3} ⇒ B = [P4 P6 P3] = 0 1 2 ⇒
0 0 1
1 0 -1
⇒ B-1 = 0 1 -2
0 0 1
_ 11 10
b = B-1b = B-1 3 = 1
1 1
_
Base B-1
b
x4 1 0 -1 10
x6 0 1 -2 1
x3 0 0 1 1
_
C5 = M
_ -2 -2
entra x2 en la base P2 = B-1 P2 = B-1 1 = 1
0 0
Tabla 2.
_ _
Base B-1 var que entra
b P2
x4 1 0 0 10 -2
x6 0 1 0 1 x2 1
x3 0 0 1 1 0
1 2 -5
Nueva base {x4, x2, x3} ⇒ B = [P4 P2 P3] ⇒ B-1 = 0 1 -2
0 0 1
_ 12
b = B-1b = 1
1
_
Base B-1
b
x4 1 2 -5 12
x2 0 1 -2 1
x3 0 0 1 1
1 2 -5
π = (0, 0, 1) 0 1 -2 = (0, 1, -1)
0 0 1
_ _ 1 2 -5 1 3
C1 = -1 ⇒ entra x1 P1 = 0 1 -2 -4 = 0
0 0 1 -2 -2
_
C5 = 1
Tabla 3.
Tabla 4.
_
Base B-1
b
1 2
x1 /3 /3 -5/3 4
x2 0 1 -2 1
2 4
x3 /3 /3 -7/3 9
1 2
/3 /3 -5/3
π = (-3, 1, 1) 0 1 -2 = [-1/3, 1/3, 2/3]
2 4
/3 /3 -7/3
_
C4 = 1/3
_
C5 = 1/3
Ventajas del método revisado del Simplex sobre el método del Simplex regular.
1. El simplex revisado trabaja sobre una tabla cuyo tamaño lo determina el número de restricciones.
2. Si se calcula B-1 en cada iteración directamente de los datos del principio, no se acumulan errores de
redondeo.
3. Los conceptos teóricos del método ayudan a entender conceptos de teoría de la dualidad y análisis de
sensibilidad.
La teoría de la dualidad se centra en el hecho de que, asociado a cualquier problema de programación lineal,
existe otro problema de programación lineal que se llama su dual, de manera que al resolver el primero se resuelve
también el segundo sin coste computacional adicional.
Un problema de programación lineal está escrito en forma simétrica si todas las variables son no
negativas, y todas las restricciones son desigualdades (si el problema es de maximizar, con ≤, y si es de minimizar,
con ≥).
PRIMAL
Max Z = Cx Min Z = Cx
Ax ≤ b Ax ≥ b
x≥0 x≥0
x1
Max Z = (C1, C2, …, Cn) …
xn
x1
x2
… ≥0
xn
DUAL
Min W = by
yA ≥ C y = (y1, y2, …, ym)
y≥0
↓
Min W = b1y1 + b2y2 + … + bmym
y1, y2, …, ym ≥ 0
Teoremas de la dualidad.
Max Z = Cx ↔ Min W = yb
Ax ≤ b yA ≥ C
x≥0 y≥0
Se tiene que el valor de la función del objetivo del problema dual (para toda solución factible del dual) es
siempre mayor o igual que el valor de la función del objetivo primal (en cualquier solución factible del problema
primal).
Demostración.
Sean x0 e y0 solución factible del primal y dual, respectivamente
x0 solución factible del problema primal ⇒ Ax0 ≤ b
x0 ≥ 0 (1)
y0 solución factible del problema dual ⇒ y0A ≥ C
y0 ≥ 0 (2)
Z0 (primal) W0 (dual)
(Z y W funciones objetivo)
Ejemplo 1.
Primal Max Z = x1 + 2x2 + 3x3 + 4 x4
Sujeto a x1 + 2x2 + 2x3 + 3x4 ≤ 20
2x1 + x2 + 3x3 + 2x4 ≤ 20
xi ≥ 0
ej.
x0 = (x10, x20, x30, x40)
(1, 1, 1, 1) Æ Z (x0) = 10
cualquier solución factible del problema dual verifica W ≥ 10 ⇒ Wopt ≥ 10
Ejemplo 2.
Primal Max Z = x1 + x2
- x 1 + x2 + x3 ≤ 2
-2x1 + x2 - x3 ≤ 1
xi ≥ 0
El primal tiene solución (por ejemplo x0 = (0, 0, 0) es una solución factible del primal).
Pero el dual no tiene ninguna solución factible (si yi ≥ 0, - y1 - 2y2 siempre ≤ 0).
Por el corolario 5, el primal tiene solución no acotada.
Demostración (ejercicio)
En el Ejemplo 1
Primal Max Z = x1 + 2x2 + 3x3 + 4 x4
Sujeto a x1 + 2x2 + 2x3 + 3x4 ≤ 20
2x1 + x2 + 3x3 + 2x4 ≤ 20
xi ≥ 0
si tomamos:
x0 = (0, 0, 4, 4) Z0 = 28
x0 e y0 óptimas del primal y dual respectivamente
y0 = (1’2, 0’2) W0 = 28
Demostración.
(y0A - C)x0 + y0(b - Ax0) = 0 ⇔ y0Ax0 – Cx0 + y0b – y0Ax0 = 0 ⇔ - Cx0 + y0b = 0 ⇔ Cx0 = y0b
Supongamos x0 solución factible del problema primal e y0 solución factible del problema dual:
Ax0 ≤ b n variables y0A ≥ C m variables
x0 ≥ 0 m ecuaciones y0 ≥ 0 n ecuaciones
⇕ ⇕
x10 b1
x20 b2 (y10, y20 , …, ym0)A ≥ (C1, C2, …, Cn)
A٠ … ≤ …
xn0 bm
x10 U1 0 b1
x20 U2 0 b2
A٠ … + … = … (*)
xn0 Um 0 bm
(y10, y20 , …, ym0)A – (V10, V20, …, Vn0) = (C1, C2, …, Cn) (**)
siendo Vi0 ≥ 0 ∀i = 1, 2, …, n el vector de holguras
El teorema 4 dice:
x0 e y0 son soluciones óptimas óptimas ⇔ (y0A - C)x0 + y0(b - Ax0) = 0 ⇔ V0x0 + y0U0 = 0 ⇔
x1 0 U1 0
x2 0 U2 0
⇔ (V10, V20, …, Vn0) … + (y10, y20 , …, ym0) … =0⇔
xn 0 Um 0
Vj 0 ٠ xj 0 = 0 yj 0Uj 0 = 0
v. primal j-ésima holgura primal
holgura dual j-ésima v. dual j-ésima
Se obtiene:
1) Si xj 0 > 0 ⇒ Vj 0 = 0
2) Si Vj 0 > 0 ⇒ xj 0 = 0
3) Si yj 0 > 0 ⇒ Uj 0 = 0
Ejemplo 1:
2y1 + y2 ≥ 2 → 2y + y - V = 2
1 2 2
Max Z = Cx
Ax ≤ b
x≥0
Dual
Min W = 15w1 - 5w2 – w3 + w4
Sujeto a 6w1 – 2w2 + w3 - w4 ≥ 2
-6w1 + 2w2 - w3 + w4 ≥ -2
3w1 + 3w2 + 4w3 – 4w4 ≥ 3
wi ≥ 0
Min W = wb
wA ≥ C
w≥0
Llamamos y1 = w1 ≥ 0
y2 = - w2 ≤ 0
y3 = w3 - w4 ≥ 0
la derecha de la f. objetivo
٠ Vector de coeficientes ٠ Vector de constantes de
de la f. objetivo la derecha
٠ i-ésima restricción con ٠ Variable i-ésima de
= cualquier signo
٠ i-ésima restricción con ٠ Variable i-ésima ≥ 0
≤
٠ i-ésima restricción con ٠ Variable i-ésima ≤ 0
≥
٠ Variable j de cualquier ٠ Restricción j con =
signo
٠ Variable j ≥ 0 ٠ Restricción j con ≥
Dual
Min W = 2y1 + y2 + 4y3
2y1 + 3y2 + y3 ≥ 1
3y1 - y2 + y3 ≤ 4
-5y1 + 6y2 + y3 = 3
y1 ≥ 0, y2 ≤ 0, y3 cq signo
Ejercicio 2.
Primal
Min Z = 2x1 + x2 - x3
x1 + x2 - x3 = 1
x 1 - x 2 + x3 ≥ 2
x2 + x3 ≤ 3
x1 ≥ 0, x2 ≤ 0, x3 cq signo
Dual
Max W = y1 + 2y2 + 3 y3
y1 + y2 ≤ 2
y1 - y2 + y3 ≥ 1
-y1 + y2 + y3 = -1
y1 cq signo, y2 ≥ 0, y3≤ 0
Los teorema del 1 al 4 de la teoría de la dualidad también se aplican a los problemas asimétricos, con las
modificaciones correspondientes.
En el Ejercicio 2:
x1 0 = 2
x2 0 = 0 solución factible primal
x3 0 = 1
y10 = 1
y20 = 0 solución factible dual
y30 = 0
En el Ejercicio 1:
x1 0 = 0
x2 0 = 0 solución factible primal
x3 0 = 4
Z0 = 12
y10 = 0
y20 = 0
y30 = 3
W0 = 12
Max W = yb
yA ≤ C
y cq signo
Ejemplo:
Primal
Min Z = -3x1 + x2 + x3
x1 - 2x2 + x3 ≤ 11
-4x1 + x2 + 2x3 ≥ 3
-2x1 + x3 = 1
xi ≥ 0
Dual
Max W = 11y1 + 3y2 + y3
y1 - 4y2 – 2 y3 ≤ - 3
-2y1 + y2 ≤1
y1 + 2y2 + y3 ≤ 1
y1 ≤ 0, y2 ≥ 0, y3 cq signo
Base
Solución ( b )
Cj
Sean {i1, i2, …, im} los índices de las variables básicas de la primera tabla del Simplex:
1ª tabla
En cualquier tabla, B-1 aparece en las columnas de las variables básicas iniciales.
_ _ _
…
Ci1 Ci2 Cim
_ _ _
(Ci1, Ci2, …, Cim) = (Ci1, Ci2, …, Cim) – π[Pi1 … Pim] =
Sea B ⊂ A una submatriz de A formada por m columnas de A linealmente independientes. Se dice que B es
una base factible primal (o base factible del problema primal) si B-1b ≥ 0.
Sea B ⊂ A una submatriz de A formada por m columnas de A linealmente independientes. Se dice que B es
una base factible dual (o base factible del problema dual) si:
C – CBB-1A ≥ 0 (C – CBB-1A ≤ 0 si el p. primal fuese de maximizar)
• Que B sea factible primal significa que se le puede asociar una solución:
xB
x= con xB = B-1b ≥ 0
xN
Llamando yB = CBB-1 → C ≥ yBA ⇔ yBA ≤ C ⇒ yB así definida es una solución factible del problema dual.
Además C – yBA ≥ 0 .
Resumiendo, si una matriz B es a la vez una base factible primal y dual, sus soluciones asociadas xB = B-1b e
yB = CBB-1 son óptimas del primal y dual, respectivamente.
Consideremos el ejemplo
Min Z = x1 + 4x2 + 3x4
Sujeto a:x1 + 2x2 – x3 + x4 ≥ 3
-2x1 - x2 + 4 x3 + x4 ≥ 2
xi ≥ 0
Cj 1 4 0 3 0 0
CB base x1 x2 x3 x4 x5 x6 b
0 x5 -1 -2 1 -1 1 0 -3
0 x6 2 1 -4 -1 0 1 -2
cj 1 4 0 3 0 0
Base x1 … xr … xm xm+1 … xs … xn b
x1 1 y1,m+1 … y1s … y1n b1
… 0 …
xr 1 yr,m+1 … yrs … yr n br
Alguno
0
menor
…
que
cero
xm 1 yn,m+1 … yns … ymn bm
0 0 0
cj cm +1 cs cn ≥0
… …
(min)
El método del simplex dual va a calcular una solución factible básica dual adyacente, reemplazando una
variable básica por una variable no básica.
cs c
= max j
Entra en la base xs tal que yrs y rj < 0 yrj
y el valor yrs es el pivote para construir la nueva tabla.
En nuestro ejemplo: _
1) El mayor valor negativo de los bi es -3 ⇒ x5 deja la base
_ _
2) Variable no básica yij Cj Cj/yij
x1 -1 1 -1
x2 -2 4 -2
x4 -1 3 -3
max {-1, -2, -3} = -1 ⇒ x1 entra en la base y el pivote es -1. Aquí el pivote es negativo.
Cj 1 4 0 3 0 0
CB base x1 x2 x3 x4 x5 x6 b
1 x1 1 2 -1 1 -1 0 3
0 x6 0 -3 -2 -3 2 1 -8
cj 0 2 1 2 1 0
sale x6 _
proporciones: yij Cj
x2 -3 2 -2/3 = -0’66
x3 -2 1 -1/2 = -0’5
x4 -3 2 -2/3 = -0’66
CB base x1 x2 x3 x4 x5 x6 b
7 5
1 x1 1 /2 0 /2 -2 -1/2 7 ≥0
3 3
0 x3 0 /2 1 /2 -1 -1/2 4 ≥0
1 1 1
cj 0 /2 0 /2 2 /2 Z=7
_ _
Tabla óptima ⇔ Cj y b ≥ 0
Solución óptima del problema de programación lineal.
OBSERVACIONES.
cs cj
= min
Entra en la base xs tal que yrs yrj <0 yrj
2.-) ¿Qué sucede si falla el criterio de entrada? Es decir, todos los yij de la fila de la variable que sale son ≥ 0.
Entonces el problema no tiene solución. ¿Por qué? ejercicio
3.-) ¿Cómo se puede saber, utilizando el método del simplex dual, que el problema original tiene solución no
acotada? Ejercicio: pensarlo usando los corolarios 1-8 del teorema 1 de la dualidad
Se refiere al estudio de los cambios en la solución óptima y en el valor óptimo de Z debido a cambios en los
datos del problema inicial, pero sin resolver el problema de nuevo desde el principio.
Ejemplo.
Una compañía fabrica 3 productos A, B y C. Los beneficios por unidad de estos productos son 2, 3 y 1
respectivamente, y para su fabricación son necesarios 2 recursos: trabajo y material. Supongamos que los valores
óptimos a fabricar de los productos A, B y C se obtienen resolviendo el problema:
Tabla1 Cj 2 3 1 0 0
CB base x1 x2 x3 x4 x5 b
1 1 1
0 x4 /3 /3 /3 1 0 1
1 4 7
0 x5 /3 /3 /3 0 1 3
cj 2 3 1 0 0 Z=0
Tabla2
1
0 x4 /4 0 -1/4 1 -1/4 1
/4
1 7 3 9
3 x2 /4 1 /4 0 /4 /4
5
cj /4 0 -17/4 0 -9/4 Z= 27
/4
Tabla3
2 x1 1 0 -1 4 -1 1
3 x2 0 1 2 -1 1 2
cj 0 0 -3 -5 -1 Z=8
C = (2,3,1,0,0)
1
b=
3
Max Z = Cx
Ax = b
x≥0
x1
...
C = (C1, C2, ..., Cn) 1xn x= xm nx1
xn
a1i
a2i
A= [ P1 P2 … Pn ] Pi = … mx1
ami ∀i = 1, ..., n
Supongamos que tenemos una solución factible obtenida a partir de una base B
La solución básica
xB = b = B −1b Z = CBb
cualquier columna:
Variable no básica de interés → x3 (forma parte del problema pero no está en la base)
c3 = −3 . Mientras c3 < 0 la solución actual (x1 y x2 en la base) sigue siendo óptima
⎛ − 1⎞
c3 = c3 − c B P3 = c3 − (2,3)⎜⎜ ⎟⎟ = c3 − 4
⎝2⎠
base x1 x2 x3 x4 x5 b
CB
1 7
2 x1 1 /2 0 /2 -1/2 2
1 1 1
6 x3 0 /2 1 - /2 /2 1
cj 0 -1 0 -4 -2 Z = 10
óptima
_ _ -1
C3 = C3 - CBP3 = 1 – (C1,3) = C1 - 5
2
_ 4
C4 = 0 – (C1,3) = -4C1 + 3
-1
_ -1
C5 = 0 – (C1,3) = C1 - 3
1
_ _ _
La tabla 3 seguirá siendo óptima mientras C3, C4 y C5 ≤ 0 (estamos maximizando).
_
C3 ≤ 0 ⇔ C1 - 5 ≤ 0 ⇔ C1 ≤ 5
_
C4 ≤ 0 ⇔ -4C1 + 3 ≤ 0 ⇔ C1 ≥ 3/4 ⇒ si C1 ∈ [3/4,3] la tabla 3 sigue siendo óptima, si
_ nos salimos del intervalo [3/4,3] la tabla ya
C5 ≤ 0 ⇔ C1 - 3 ≤ 0 ⇔ C1 ≤ 3 no es óptima
⎛1⎞
pero cambia Z opt = c B b = (1,3)⎜⎜ ⎟⎟ = 7
⎝ 2⎠
2
_ 4
C4 = 0 – (1,4) =0
-1
_ -1
C5 = 0 – (1,4) = -3 < 0
1
La solución de la tabla 3 sigue siendo óptima. Ahora Zopt=9 y tendríamos una solución óptima alternativa
haciendo entrar a x4. Si alguno de los ci fuese > 0 la tabla no sería óptima y habría que seguir calculando tablas.
En general, hay que recalcular la fila de los ci . Si la tabla deja de ser óptima, habría que continuar con el
simplex.
Supongamos que en el problema del ejemplo se puede realizar 1 hora más de trabajo (b1 crece una unidad).
⎛ b ⎞ ⎛ 2⎞
b1 = 1 → b1 = 2 b = ⎜⎜ 1 ⎟⎟ = ⎜⎜ ⎟⎟
⎝ b2 ⎠ ⎝ 3 ⎠
−1 ⎛ 4 − 1⎞
En la tabla óptima, B = (P1 P2) y B = ⎜⎜ ⎟⎟
⎝ −1 1 ⎠
⎛ 4 − 1⎞⎛ 2 ⎞ ⎛ 5 ⎞
Luego b = B −1b = ⎜⎜ ⎟⎟⎜⎜ ⎟⎟ = ⎜⎜ ⎟⎟
⎝ − 1 1 ⎠⎝ 3 ⎠ ⎝ 1 ⎠
Entonces, por unidad aumentada en la disponibilidad del recurso 1, el beneficio que se obtiene es: 13-8 = 5 unidades.
Definición- Se llama precio sombra, marginal o de equilibrio de la restricción (recurso) i al cambio que se produce
en el valor de la función del objetivo por unidad aumentada en la disponibilidad del recurso i.
Se prueba que los precios sombra de los recursos i = 1, …, m son la solución óptima yiopt del dual i = 1, …, m
En nuestro caso:
4 − 1⎞
(y1opt,y2opt) = π =CBB-1 = (2,3)⎛⎜⎜ ⎟⎟ = (5,1)
⎝ −1 1 ⎠
Ahora bien, para que los precios sombra no den información errónea, debemos calcular cuál es el campo de
variación de los bi en el que la solución sigue siendo óptima.
Lo calculamos, por ejemplo, para b1:
b1
b* =
3
Esta tabla no es factible primal, pero sí factible dual ⇒ aplicamos el Método del Simplex Dual:
x2 deja la base y entra x4
base x1 x2 x3 x4 x5 b
x1 9 ≥0
x4 1 ≥0
Zopt = 18
Supongamos que la compañía puede sacar a la venta un nuevo producto D, que requiere 1 unidad de trabajo y
1 unidad de material, con beneficio/unidad = 3.
1
Esto equivale a añadir una variable x6 y una columna en la tabla 1.
_ 1
La tabla 3 seguirá siendo óptima si es C6 ≤ 0:
⎛1⎞
c6 = c6 − πP6 = 3 − (5,1)⎜⎜ ⎟⎟ = −3
⎝1⎠
_
Luego la solución de la tabla 3 sigue siendo óptima. Si C6 > 0 se aplicaría el simplex. .
Mejor resolver el problema de nuevo, porque al cambiar la matriz básica B se cambian todas las
columnas de la tabla.
3.3 Adición de nuevas restricciones.
Supongamos que se añade una restricción referente a los servicios administrativos, de tal modo que los
productos A, B y C requieren 1, 2 y 1 hora de servicios respectivamente, mientras las horas totales disponibles son 10.
x1 + 2x2 + x3 ≤ 10
CB base x1 x2 x3 x4 x5 x6 b
2 x1 1 0 -1 4 -1 0 1
3 x2 0 1 2 -1 1 0 2
0 x6 1 2 1 0 0 1 4
cj 0 0 -3 -5 -1 0
CB base x1 x2 x3 x4 x5 x6 b
x1 1 0 -1 4 -1 0 1
x2 0 1 2 -1 1 0 2
x6 0 0 -2 -2 -1 1 -1
cj 0 0 -3 -5 -1 0
x1 2
x2 1
x5 1
Zopt = 7
Esto siempre es cierto: al añadir una restricción a un problema de programación lineal el nuevo valor de la
función del objetivo es igual o peor que el anterior.
Observaciones.
B) Resolver
Programación paramétrica.
1. Costes (Beneficios) paramétricos
Z = [C + λC*] x
Ax = b
Cj* 1 -1 1 0 0
Cj 2 3 1 0 0
CB* CB base x1 x2 x3 x4 x5 b
1 2 x1 1 0 -1 4 -1 1
-1 3 x2 0 1 2 -1 1 2
cj 0 0 -3 -5 -1 Z = 8 = CBb
Z * = −1 = C B* b
*
cj 0 0 4 -5 2
⎛ − 1⎞
Por ejemplo, c3 = c3 − c B P3 = 1 − (1,−1)⎜⎜ ⎟⎟ = 4
* * *
⎝2⎠
Z(λ) = Z + λZ* = 8 - λ
_
C3(λ) = -3 + 4λ ≤ 0 ⇔ λ ≤ 3/4
_
C4(λ) = -5 -5λ ≤ 0 ⇔ λ ≥ -1
_
C5(λ) = -1 + 2λ ≤ 0 ⇔ λ ≤ 1/2
base x1 x2 x3 x4 x5 b
x1 1 1 1 3 0 3
x5 0 1 2 -1 1 2
cj 0 1 -1 -6 0 Z=6
cj * 0 -2 0 -3 0 Z* = 3
base x1 x2 x3 x4 x5 b
1
x4 /4 0 -1/4 1 -1/4 1
/4
1 7 3 9
x2 /4 1 /4 0 /4 /4
5
cj /4 0 -17/4 0 -9/4 Z= 27
/4
5 11 3
cj * /4 0 /4 0 /4 Z* = -9/4
Solución óptima si c1 (λ ), c3 (λ ), c5 (λ ) ≤ 0 ⇔ λ ≤ -1
Z = Cx b1 b1*
Ax = b + αb* b= … b* = …
x≥0 bm bm*
α∈ℝ
Ejemplo: 1 1+α
Hagamos b* = b + αb* =
-1 3-α
Resolver para α = 0:
base x1 x2 x3 x4 x5 b b*
x1 1 0 -1 4 -1 1 5
x2 0 1 2 -1 1 2 -2
cj 0 0 -3 -5 -1 Z = 8 = CBb Z * = 4 = CBb *
_ 4 -1 1 1
b = B-1b = =
-1 1 3 2
_ 4 -1 1 5
b* = B-1b = =
-1 1 -1 -2
x1 = 1 + 5α ≥ 0 ⇔ α ≥ - 1/5
x2 = 2 - 2α ≥0⇔α≤1
Zopt = 8 + 4α
α ∈ [- 1/5,1]
Si α > 1 ⇒ x2 < 0 y la solución actual no es factible, pero sí factible dual. Usando el Método del Simplex Dual
obtenemos:
CB base x1 x2 x3 x4 x5 b b*
2 x1 1 4 7 0 3 9 -3
0 x4 0 -1 -2 1 -1 -2 2
cj 0 -5 -13 0 -6 Z = 18 Z* = -6
Si α > 3 ⇒ x1 < 0 y la solución actual no factible. Como en la fila de x1 no hay coeficientes negativos, el problema es
NO FACTIBLE.
Si α < - 1/5 ⇒ x1 < 0 ( y usamos Método del Simplex Dual: sale x1 y entra x5)
base x1 x2 x3 x4 x5 b b*
x5 -1 0 1 -4 1 -1 -5
x2 1 1 1 3 0 3 3
cj -1 0 -2 -9 0 Z=9 Z* = 9
x2 = 3 + 3α ≥0
si -1 ≤ α < - 1/5
x5 = -1 - 5α ≥0
Z = 9 + 9α
Maximizar Z
= 3x1+2x2
Sujeto a x1 ≤ 2
x2 ≤ 2
x1+ x2 ≤ 3.5
x1,x2 ≥ 0 y enteros.
Soluciones enteras
Z=3x1+2x2
Z(0,0)=0
Z(0,1)=2
Z(0,2)=4
Z(1,0)=3
Z(1,1)=5
Z(1,2)=7
Z(2,0)=6
Z(2,1)=8 óptimo
Algoritmo.
x2=1.5 x2≤1
x2≥2
PL-2
Así tenemos una s.f. entera de PL-1 (Fijarse que cada solución entera
factible de PL-1 está contenida en PL-2 ó en PL-3). Aunque PL-2 pueda
contener otras soluciones enteras, sus valores de la función objetivo no
pueden ser más grandes que 8, ⇒ Z=8 es una cota inferior del valor máximo
de Z en el PL-1.
Luego 8≤ Zoptimo≤9
PL-4 PL-5
PL-3 + restricción x1≤ 1 PL-3 + restricción x1≥ 2
PL-4
Maximizar Z = CX
Sujeto a
AX = b
X ≥ 0
Xj entera para j perteneciente a I = {índices de las variables enteras}
· Se resuelve el MIP sin condiciones enteras. A este problema le llamamos PL-1 con solución óptima Z1.
Supongamos que la solución óptima toma valores no enteros en alguna variable entera, y por lo tanto no es
solución del MIP. Sí es, en cambio, una cota superior del valor óptimo de Z en el MIP.
Se elige una variable entera Xj que dio no entera. Si Xj = βj, se construyen 2 nuevos problemas:
· Para elegir la variable Xj en la que hacer la bifurcación hay las siguientes reglas:
· Como PL-2 y PL-3 son PL-1 con una nueva restricción añadida, podemos usar el MSD (Método del Simplex
Dual) para encontrar sus soluciones óptimas.
· Supongamos que las soluciones óptimas de PL-2 y de PL-3 siguen siendo fraccionarias. El siguiente paso
consiste en seleccionar PL-2 o PL-3 para hacer una nueva ramificación. Para ello:
· Continuamos así la sucesión de ramificaciones y resolución de p.p.l hasta resolver uno que tenga solución
entera. El valor de la función objetivo en este caso será una cota inferior del valor óptimo del MIP original. En
este momento podemos dejar de considerar todos aquellos nodos cuyos valores de Z no sean mejores que la
cota inferior. Se dice que esos nodos han sido saturados.
· DEFINICIÓN: un nodo intermedio está explícita o implícitamente saturado siempre que se satisfaga una de
las siguientes condiciones:
3). El valor óptimo de Z para el p.p.l correspondiente no es mejor que la cota inferior actual.
· El Nodo 4 está saturado. Cualquier solución del problema MIP no puede ser mejor que esta.
· En el caso de que Z7 > Z4, habría que ramificar a partir del Nodo7.
· Notas
- La eficacia del método radica en la rapidez con que se saturen los nodos.
- Al contrario que un p.p.l general, la adición de nuevas restricciones a un MIP generalmente reducirá el
tiempo de computación, especialmente cuando las nuevas restricciones contengan variables enteras.
Problemas de Transporte.
Consideremos:
M almacenes con existencias a1, a2, …, aM
N mercados con demandas b1, b2, …, bN
Se trata de calcular la cantidad a enviar desde cada almacén hasta cada mercado minimizando el coste total
del transporte.
1 2 i M
ALMACÉN • • … • … •
MERCADO • • … • … •
1 2 j N
Sujeto a:
Las restricciones vienen dadas por las capacidades de los almacenes y las exigencias de los mercados.
1 i M
• … • … •
xi1 xij xiN
• … • … •
1 j N
M N
Queda Min Z = ∑ ∑ Cij xij
i=1 j=1
N
sujeto a: ∑ xij ≤ ai i=1…M
j=1
M
∑ xij ≥ bj j=1…N
i=1
xij ≥ 0 ∀i,j
almacenado demandado
M N
Si ∑ ai = ∑ bj se tiene un problema de transporte estándar:
i=1 j=1
M N
Min Z = ∑ ∑ Cij xij
i=1 j=1
sujeto a: N
∑ xij = ai i=1…M
j=1
M
∑ xij = bj j=1…N
i=1
xij ≥ 0 ∀i,j
Desarrollaremos técnicas de resolución para problemas de este tipo, por ello, si no se cumple que:
∑ ai = ∑ bj
(La cantidad enviada es mayor que la cantidad demandada. Habrá una cierta cantidad que no se enviará. Se crea
entonces un mercado ficticio, llamado N+1, con demanda precisamente igual a esa cantidad).
1 2 N
• • … •
• • … • •
M N
b1 b2 bN bN+1 = ∑ ai - ∑ bj con Ci,N+1 = 0 ∀i=1…N
i=1 j=1
mercado
exceso de mercancía
ficticio
sujeto a: N+1
∑ xij = ai i=1…M
j=1
M
∑ xij = bj j=1…N+1
i=1
xij ≥ 0 ∀i,j
Si: M N
∑ ai < ∑ bj ( II )
i=1 j=1
(La cantidad enviada es menor que la demandada. No se cumplirán todas las demandas y habrá una cierta pérdida en
algún mercado. Se crea entonces un almacén ficticio, llamado M+1, con la cantidad que falta).
N M
a1 a2 aM aM+1 = ∑ bj - ∑ ai con CM+1,j = 0 y xM+1,j es la
j=1 i=1
la pérdida en el mercado j
• • … • •
• • … •
b1 b2 bN
El problema se reescribe:
M+1 N
Min Z = ∑ ∑ Cij xij
i=1 j=1
sujeto a: N
∑ xij = ai i=1…M+1
j=1
M+1
∑ xij = bj j=1…N
i=1
xij ≥ 0 ∀i,j
El problema de Transporte estándar puede expresarse en forma de tabla con los datos (ai, bj, Cij).
Mercados
Almacenes 1 2 3 … N Existencias
x11 x12 x13 x1N
1 a1
C11 C12 C13 C1N
x21 x22 x23 x12N
2 a2
C21 C22 C23 C2N
… …
xi1 xi2 xi1 xiN
i ai
Ci1 Ci2 Ci3 CiN
… …
xM1 xM2 xM3 xMN
M aM
CM1 CM2 CM3 CMN
Demandas b1 b2 b3 … bN
El problema de transporte tiene M+N restricciones ⇒ una solución factible básica necesita, en principio,
M+N variables básicas.
M N M
Ahora bien, dado que ∑ ∑ xij = ∑ ai
i=1 j=1 i=1
M
(sumamos todas las ecuaciones ∑ xij = ai)
j=1
M
∑ xij = bj ∀j=1…N
i=1
N M N M
∑ ∑ xij = ∑ bj = ∑ ai
j=1 i=1 j=1 i=1
Obtención de una
(1) solución
factible básica inicial
(2)
Comprobar si es
óptima
NO SI FIN
Se mejora
(3)
obteniendo
otra solución
factible básica
(1) Hay varios métodos: esquina noroeste, coste mínimo, de Vogel, de aproximación de Russell…
(2) Método U-V
Consiste en elegir como variables básicas (>0) aquellas que ocupen la esquina noroeste en la tabla de
transporte estándar.
M1 M2 M3 M4 capacidades
M1 M2 M3 M4
A1 3 0 0 0 3-3=0
A2 7
A3 5
4-3=1 3 4 4
M1 M2 M3 M4
A1 3 0 0 0 0
A2 1 7-1=6
A3 0 5
1-1=0 3 4 4
M1 M2 M3 M4
A1 3 0 0 0 0
A2 1 3 6-3=3
A3 0 0 5
0 0 4 4
M1 M2 M3 M4
A1 3 0 0 0 0
A2 1 3 3 0 0
A3 0 0 5
0 0 4-3=1 4
M1 M2 M3 M4
A1 3 0 0 0 0
A2 1 3 3 0 0
A3 0 0 1 4 5-1=4
Consiste en ir eligiendo como variables básicas (>0) aquellas que tengan menor coste.
M1 M2 M3 M4
A1 2 2 2 1 3
A2 10 8 5 4 7
A3 7 6 6 8 5
4 3 4 4
M1 M2 M3 M4
A1 0 0 0 3 0
A2 7
A3 5
4 3 4 1
M1 M2 M3 M4
A1 0 0 0 3 0
A2 1 7 6
A3 0 5
4 3 4 1 0
M1 M2 M3 M4
A1 0 0 0 3 0
A2 4 1 6 2
A3 0 0 5
4 3 4 0 0
M1 M2 M3 M4
A1 0 0 0 3 0
A2 0 4 1 2
A3 3 0 0 5 2
4 3 0 0 0
M1 M2 M3 M4
A1 0 0 0 3 0
A2 2 0 4 1 2
A3 2 3 0 0 2
4 0 0 0
Primero es preciso saber si la solución factible básica inicial es óptima o no. En el ejemplo anterior:
M1 M2 M3 M4
0 0 0 3
A1 3
2 2 2 1
2 0 4 1
A2 7
10 8 5 4
2 3 0 0
A3 5
7 6 6 8
4 3 4 4
M1 M4
A1 +1 -1
A2 -1 +1
_
C11 = C11•(cambio en x11) + C14•(cambio en x14) + C21•(cambio en x21) + C24•(cambio en x24) = 2•(1) + 1•(-1) + 10•(-1)
+ 4•(+1) = -5
beneficio
relativo
de x11
Se pueden calcular todos los beneficios relativos de las variables no básicas simultáneamente, mediante el
método U-V o MODI (Modified Distribution Method).
Método U-V.
Se calculan números:
Ui ∀i=1…M
Vj ∀j=1…N tales que: Cij = Ui + Vj para cada variable básica
_
Se tendrá que Cij = Cij - (Ui + Vj) para cada variable no básica.
M1 M2 M3 M4 A1 M4
• U1 + V4 = 1
A1
2 2 2 1 U2 + V1 = 10
• • • U2 + V3 = 5
A2
10 8 5 4 U2 + V4 = 4
• • U3 + V1 = 7
A3
7 6 6 8 U3 + V2 = 6
Hacemos
U1 = 0 → V4 = 1→ U2 = 3 → V1 =7 y V3 = 2
U3 = 0 → V2 = 6
_
C11 - (U1 + V1) = 2 – (0+7) = -5
_
P.entera, transporte y asignación 16
C12 = 2 - (0 + 6) = -4
_
C13 = 2 – (0 + 2) = 0
_
C22 = 8 – (3 + 6) = -1
_
C33 = 6 – (0 + 2) = 4
_
C34 = 8 – (0 + 1) = 7
V1 = 7 V2 = 6 V3 = 2 V4 = 1
•
U1 = 0
2 2 2 1
• • •
U2 = 3
10 8 5 4
• •
U3 = 0
7 6 6 8
2-7-0 = -5 2-6-0 = -4
V1 = 7 V2 = 6 V3 = 2 V4 = 1
-5 -4 0 0
U1 = 0
2 2 2 1
0 -1 0 0
U2 = 3
10 8 5 4
0 0 4 7
U3 = 0
7 6 6 8
(Steeping-Stone)
2 1
0 4 3
2 3 Z = 69
V1 = 2 V2 = 1 V3 = 2 V4 = 1
× 1 0 ×
U1 = 0
2 2 2 1
5 4 × ×
U2 = 3
10 8 5 4
× × -1 2
U3 = 5
7 6 6 8
3
3 4
1 3 1 Z = 68
Problemas de Asignación.
Formulación general de un problema de asignación estándar:
Se tienen N máquinas y N trabajos diferentes. Cada máquina puede realizar un único trabajo y cada trabajo
sólo puede efectuarlo una máquina. Se supone que el coste de realización de cada trabajo por cada máquina varía. El
problema consiste en resolver qué trabajo realiza cada máquina de manera que el coste total de realización de los N
trabajos sea mínimo.
M1 M2 … MN N máquinas
T1 T2 … TN N trabajos
T1 T2 M1 C11 C12
Función objetivo:
N N
Min ∑ ∑ Cij xij
i=1 j=1
T1 T2 … TN
M1 C11 C12 C1N 1 Tabla de costes
M2 C21 C22 C2N 1 de asignación
… estándar
MN CN1 CN2 CNN 1
1 1 1
En general en un problema de transporte necesitaríamos 2N-1 variables básicas > 0, cuando en los problemas
de asignación sólo habrá N variables > 0. No usaremos ni transporte ni simplex porque trabajaríamos con soluciones
degeneradas.
a) Hay más máquinas que trabajos → creamos “trabajos” ficticios con coste de realización cero.
b) Hay más trabajos que máquinas → creamos “máquinas” ficticias con coste de realización trabajo/máquina
ficticia = 0.
El principio básico radica en que la asignación óptima no cambia si se suma o se resta una constante a una
fila o columna de la tabla de costes de asignación estándar.
Ejemplo:
T1 T2 T3 T4
M1 10 9 8 7 → mínimo = 7
M2 3 4 5 6 → mínimo = 3
M3 2 1 1 2 → mínimo = 1
M4 4 3 5 6 → mínimo = 3
T1 T2 T3 T4
M1 3 2 1 0
M2 0 1 2 3
M3 1 0 0 1
M4 1 0 2 3
M1 → T4
M2 → T1
M3 → T2
→ T3 M3 → T3
M4 → T2 M4 → T2
T1 T2 T3 T4
M1 10 9 7 8 → mínimo = 7
M2 5 8 7 7 → mínimo = 5
M3 5 4 6 5 → mínimo = 4
M4 2 3 4 5 → mínimo = 2
T1 T2 T3 T4
M1 3 2 0 1 M2 → T1 M4
M2 0 3 2 2 → T1
M3 1 0 2 1
M4 0 1 2 3
Como dos máquinas estarían realizando el mismo trabajo no sería una asignación óptima. Cogemos el
mínimo por columnas:
M1 → T3
T1 T2 T3 T4
M1 3 2 0 0
M2 0 3 2 1
M3 1 0 2 0
P.entera, transporte y asignación 20
M4 0 1 2 2 → T4
M2 → T1
M3 → T2
→ T4
M4 → T1
Lo que se hace ahora es trazar líneas de modo que se cubran todas las celdas con ceros. El teorema de König
establece que el número mínimo de líneas necesario es igual al número máximo de trabajos que pueden asignarse
usando dichas celdas.
T1 T2 T3 T4
M1 3 2 0 0
M2 0 3 2 1
M3 1 0 2 0
M4 0 1 2 2
Ahora se selecciona el elemento más pequeño no cubierto por las líneas, que en este ejemplo es el 1. Se resta
este número de todos los elementos no cubiertos, y se le suma a los cubiertos que sean intersección de dos líneas.
Es equivalente a
T1 T2 T3 T4 restar 1 de la 2ª y 4ª fila y sumar 1 a la
M1 4 2 0 0 1ª columna, por lo que la asignación
M2 0 2 1 0 óptima no varía.
M3 2 0 2 0
M4 0 0 1 1
M1 → T3
→ T4
M2 → T1
→ T4
M3 → T2
→ T4
M4 → T1
→ T2
M1 → T3 M1 → T3
M2 → T1 M2 → T4
M3 → T4 ó M3 → T2
M4 → T2 M4 → T1
Zopt = 20