Programacion Lineal Jfa
-
Upload
a13n03g93y -
Category
Documents
-
view
231 -
download
0
Transcript of Programacion Lineal Jfa
-
8/11/2019 Programacion Lineal Jfa
1/91
Programacin Lineal.Introduccin.En los ltimos 70 aos, las empresas, cada vez mayores y complejas, han originado unacierta clase de problemas de optimizacin, donde el inters radica en asuntos tales comola manera ms eficiente de manejar una economa, o cmo organizar los horarios devuelo de las azafatas en una compaa area, o la mezcla de ingredientes de unfertilizante para satisfacer las especificaciones agrcolas a un costo mnimo, etc. Elestudio de cmo formular y resolver tales problemas ha originado el desarrollo denuevas e importantes tcnicas de optimizacin. Entre stas encontramos la
programacin lineal. El modelo de programacin lineal, esto es, la optimizacin de unafuncin lineal sujeta a restricciones lineales, es sencillo en su estructura matemtica,
pero poderoso por su capacidad de adaptarse a un amplio rango de aplicaciones aproblemas de la vida real.
Los problemas de programacin lineal se interesan en la asignacin eficiente de
recursos limitados con el nimo de alcanzar objetivos deseados. Estos problemas secaracterizan por el gran nmero de soluciones que satisfacen las condiciones impuestaspor cada problema. La seleccin de una solucin concreta, como la mejor a unproblema, depender de cierto objetivo implcito en el planteamiento del problema. Unasolucin que satisfaga todas las condiciones del problema y adems alcance el objetivodeseado se denomina solucinptima.
Para poder entender bien de qu estamos hablando, vamos a empezar proponiendo unaserie de ejemplos en los que se pueda apreciar como situaciones, en apariencia muydiferentes, dan lugar a modelos matemticos que son idnticos en estructura y caendentro de lo que se entiende por problemas de programacin lineal.
Antes de empezar con los ejemplos observemos que para plantear cualquier problemade programacin lineal deberemos identificar cuatro componentes bsicos:
1. Los datos del problema2. Las variables que habremos de definir para formular el problema, junto con sus
dominios de definicin3. Las restricciones que vienen impuestas por las condiciones del problema.4. La funcin que representa el objetivo a alcanzar y que habitualmente debe ser
optimizada.
Ejemplo 1:Un problema de dieta.Se desea aadir a la dieta de ciertos animales de granja cantidades extra de tiamina,fsforo y hierro. Para ello en el mercado existen dos preparados en polvo diferentes:Fosfatn y Ferroforo. Estos contienen los nutrientes en las cantidades que se indican acontinuacin. Cada onza de Ferroforo contiene 0.15 mg de tiamina, 0.75 mg de fsforoy 1.30 mg de hierro. Cada onza de Fosfatn contiene 0.10 mg de tiamina, 1.70 mg defsforo y 1.10 mg de hierro. Deseamos que cada animal reciba al da, al menos 1.00 mgde tiamina, 7.50 mg de fsforo y 10.00 mg de hierro.
El costo de cada onza de Ferroforo es de 0.02 y el de Fosfatn es de 5/3 decntimo de euro por onza . Determinar las cantidades de Ferroforo y Fosfatn quedebemos suministrar a cada animal de forma que el costo de este suplemento a la dietasea mnimo.
Sergio Estrada Domnguez
Juan Frez Alcntara
Francisco de Ass Guil Asensio
-
8/11/2019 Programacion Lineal Jfa
2/91
Solucin:
Tal y como hemos indicado anteriormente, empezaremos identificando los cuatrocomponentes bsicos del problema.
En primer lugar expresamos los datos del problema en forma de tabla, lo que nos daruna mejor perspectiva de los mismos:
Proporcin de nutriente por ingrediente___________Nutrientes__________
Ingredientes Tiamina Fsforo Hierro Costo de los ingredientesFerroforo 0.15 mg/oz 0.75 mg/oz 1.30 mg/oz 2 cts/ozFosfatn 0.10 mg/oz 1.70 mg/oz 1.10 mg/oz 5/3 cts/oz
Definicin de las variables del problema:
Sean x1 y x2 las cantidades, en onzas, de Ferroforo y Fosfatn, respectivamente, quedebemos aadir a la dieta de los animales diariamente.
Restricciones del problema:Al echar a la dieta x1 onzas de Ferroforo y x2 onzas de Fosfatn estaramos
proporcionando a la misma el siguiente aporte nutricional diario:
0.15x1+ 0.10x2 mg de Tiamina0.75x1+ 1.70x2 mg de Fsforo1.30x1+ 1.10x2 mg de Hierro
Como deseamos que cada animal reciba al da, al menos 1.00 mg de tiamina, 7.50 mgde fsforo y 10.00 mg de hierro. Deberemos imponer las siguientes restricciones:
0.15x1+ 0.10x2 1.000.75x1+ 1.70x2 7.501.30x1+ 1.10x2 10.00
Restricciones de no negatividad:Tal y como hemos definido las variables del problema no tiene ningn sentido que stastomen valores negativos. De manera que tambin impondremos las restricciones:
x1 0x2 0Estas restricciones se suelen expresar de forma conjunta del siguiente modo:
x1, x2 0y se les llama las restricciones de no negatividad.
Definicin de la funcin que representa el objetivo que pretendemos alcanzar:Es lgico pensar que habr muchas pares de valores (x1, x2) que cumplirn todas lasrestricciones del problema. Cada uno de estos pares de valores (x1, x2), que significaechar, diariamente, a la dieta de los animales x1 onzas de Ferroforo y x2 onzas de
Fosfatn, , tendr un costo de 2x1+ 5/3x2cntimos de euro.
-
8/11/2019 Programacion Lineal Jfa
3/91
Luego si llamamos z = 2 x1 + 5/3 x2 , z representa el costo, en cntimos de euro,asociado al par (x1,x2) de valores de las variables.
Es evidente que nuestro objetivo ser determinar el par (x1, x2) que cumpliendo todaslas restricciones del problema haga mnimo el valor de la funcinz.
Luego el problema que hemos de resolver lo podemos expresar del siguiente modo:
+
+
+
+=
0,
00.1010.130.1
50.770.175.0
00.110.015.0
asujeto
2min
)(
21
21
21
21
235
1
xx
xx
xx
xx
xxz
P
Ejemplo 2:Un problema de mezclas.Una fbrica de pinturas mezcla tres aditivos, A1, A2 y A3 a una base en
diferentes proporciones para obtener distintos colores de tinta. La tinta roja se obtienemezclando A1, A2 y A3 en la proporcin de 3:1:2, la tinta azul en la proporcin de2:3:4 y la tinta verde en la proporcin 1:2:3. Despus de mezclar estos aditivos, a cadacolor de tinta se le aade una cantidad de base igual a la suma de dichos aditivos, en losrespectivos colores. La compaa actualmente tiene 1000 galones de A1, 1500 de A2,
2000 de A3 y 4000 de base. Dedo que el beneficio obtenido por galn de cada tipo detinta es el mismo, desarrolle un modelo de programacin lineal para determinar cmodeberan usarse estos recursos para obtener los mximos ingresos, suponiendo que todala tinta que se fabrique ser vendida.
Solucin:
Segn el enunciado del ejemplo, podemos ver que para hacer cada tipo de tinta debemosmezclar los tres aditivos junto con la base siguiendo las proporciones que se pueden veren el siguiente dibujo:
-
8/11/2019 Programacion Lineal Jfa
4/91
Empezaremos analizando los datos del problema.
Tinta Roja: En un galn (litro, cm3, ) de tinta roja la relacin de los aditivos y la basees:
A1 A2 A3 B
3 : 1 : 2 : 6luego si el galn de tinta roja lo partimos en 12 partes iguales, habr:
3 partes de aditivo A11 parte de aditivo A22 partes de aditivo A36 partes de base
lo que indica que la proporcin de aditivos y base en dicho galn de tinta roja sera la
siguiente: las12
3partes del galn de tinta roja seran aditivo A1, las
12
1partes del galn
de tinta roja seran aditivo A2, las12
2partes del galn de tinta roja seran aditivo A3 y
las12
6partes del galn de tinta roja seran base.
Es decir,
12
3de cada galn de tinta roja es aditivo A1,
12
1de cada galn de tinta roja es aditivo A2,
12
2de cada galn de tinta roja es aditivo A3,
126 de cada galn de tinta roja es base.
Tinta Azul: En un galn (litro, cm3, ) de tinta azul la relacin de los aditivos y la basees:
A1 A2 A3 B2 : 3 : 4 : 9
luego si el galn de tinta azul lo partimos en 18 partes, habr:
2 partes de aditivo A13 parte de aditivo A24 partes de aditivo A39 partes de base
lo que indica que la proporcin de aditivos y base en dicho galn de tinta roja sera:
18
2de cada galn de tinta azul es aditivo A1,
18
3de cada galn de tinta azul es aditivo A2,
-
8/11/2019 Programacion Lineal Jfa
5/91
18
4de cada galn de tinta azul es aditivo A3,
18
9de cada galn de tinta azul es base.
Tinta Verde: En un galn (litro, cm3, ) de tinta verde la relacin de los aditivos y labase es:
A1 A2 A3 B1 : 2 : 3 : 6
luego si el galn de tinta verde lo partimos en 12 partes, habr:1 partes de aditivo A12 parte de aditivo A23 partes de aditivo A36 partes de base
lo que indica que la proporcin de aditivos y base en dicho galn de tinta verde sera:
12
1de cada galn de tinta verde es aditivo A1,
12
2de cada galn de tinta verde es aditivo A2,
12
3de cada galn de tinta verde es aditivo A3,
126 de cada galn de tinta verde es base.
Definicin de las variables de decisin:
Denotamos mediante,
xR= cantidad de galones de tinta roja a producir.xA= cantidad de galones de tinta azul a producir.
xV= cantidad de galones de tinta verde a producir.
Restricciones debidas a la disponibilidad de los aditivos y base:
1000121
182
123 ++
444 3444 21 VARxxx
cantidad de unidades de aditivo A1 gastadas al fabricar xR galones de tinta roja, xAgalones de tinta azul yxVgalones de tinta verde.
-
8/11/2019 Programacion Lineal Jfa
6/91
1500122
183
121 ++
444 3444 21 VARxxx
cantidad de unidades de aditivo A2 gastadas al fabricar xR galones de tinta roja, xAgalones de tinta azul yxVgalones de tinta verde.
2000123
184
122 ++
444 3444 21 VARxxx
cantidad de unidades de aditivo A3 gastadas al fabricar xR galones de tinta roja, xAgalones de tinta azul yxVgalones de tinta verde.
4000126
189
126 ++
444 3444 21 VARxxx
cantidad de unidades de base gastadas al fabricarxRgalones de tinta roja, xAgalones
de tinta azul yxVgalones de tinta verde.
Restricciones de no negatividad.
Tal y como se han definido las variables de decisin no tiene ningn sentido que tomenvalores negativos, luego:
0,, VAR xxx
Modelo:
De manera que quedara el siguiente modelo:
++
++
++
++
++
0,,
4000
2000
1500
1000
asujeto
Maximizar
126
189
126
123
184
122 12
2
18
3
12
1
121
182
123
VAR
VAR
VAR
VAR
VAR
VAR
xxx
xxx
xxx
xxx
xxx
xxx
-
8/11/2019 Programacion Lineal Jfa
7/91
Ejemplo 3:Planificacin de la produccin.Un fabricante produce tres modelos (I, II y III) de un cierto producto, y usa dos tipos de
materia prima (A y B), de las cuales se tienen disponibles 2.000 y 3.000 unidades,respectivamente. Los requisitos de materia prima por unidad de los tres modelos son:
Materia Requisitos por unidad de modelo dadoPrima I II IIIA 2 3 5B 4 2 7
El tiempo de mano de obra para cada unidad del modelo I es dos veces el del modelo IIy tres veces el del modelo III. La fuerza laboral completa de la fbrica puede producir elequivalente de 700 unidades del modelo I. Una encuesta de mercado indica que la
demanda mnima de los tres modelos es 200, 200 y 150 unidades, respectivamente. Sinembargo, las relaciones del nmero de unidades producidas deben ser igual a 3:2:5.Suponga que los beneficios por unidad de los modelos I, II y III son 30, 20 y 50unidades monetarias, respectivamente. Formule un modelo de programacin lineal quedetermine el nmero de unidades de cada producto que maximizarn el beneficio.
Solucin: Supondremos que todo lo que se produce se vende.
Definicin de las variables de decisin:
Denotaremos por,x1= unidades del modelo I del producto que se van a producir.x2= unidades del modelo I del producto que se van a producir.x3= unidades del modelo I del producto que se van a producir.
Funcin objetivo:
Denotaremos por 321 502030 xxxz ++= , que representa los beneficios obtenidos porla fabricacin y venta de x1 unidades del modelo I, x2 unidades del modelo II y x3unidades del modelo III.
Restricciones debidas a la disponibilidad de las materias primas A y B:
2000532 321 ++
44 344 21xxx
cantidad de unidades de materia prima A gastadas alfabricar x1 unidades del modelo I, x2 unidades delmodelo II yx3unidades del modelo III
3000724 321 ++
44 344 21xxx
cantidad de unidades de materia prima B gastadas alfabricar x1 unidades del modelo I, x2 unidades delmodelo II yx3unidades del modelo III
-
8/11/2019 Programacion Lineal Jfa
8/91
Restricciones debidas a la demanda mnima, segn una encuesta de mercado, de lostres modelos:
150
250
200
3
2
1
x
x
x
Restricciones debidas a que las relaciones del nmero de unidades producidas debenser igual a 3 : 2 : 5, para los modelos I, II y III, respectivamente.
=
=
=
===
025
032
25
32
523 32
21
32
21321
xx
xx
xx
xxxxx
Restriccin debida a: el tiempo de mano de obra para cada unidad del modelo I esdos veces el del modelo II y tres veces el del modelo III y sabemos que la fuerza laboral
completa de la fbrica puede producir el equivalente de 700 unidades del modelo I.
Pues bien, este prrafo entrecomillado se traduce en la siguiente restriccin:
70032
321 ++
xxx
Expliquemos esta ltima restriccin con ms detenimiento. Si llamamos tal tiempo demano de obra necesario para fabricar una unidad del modelo I, entonces t/2 ser eltiempo de mano de obra necesario para fabricar una unidad del modelo II y t/3 ser el
tiempo de mano de obra necesario para fabricar una unidad del modelo III.
Por otro lado, nos dicen que la fuerza laboral completa de la fbrica puede producir elequivalente de 700 unidades del modelo I lo que quiere decir que se dispone deltiempo de mano de obra necesario para fabricar 700 unidades del modelo I, es decir, lafbrica dispone de un tiempo de mano de obra de 700 t(pues cada unidad del modelo Inecesita un tiempo de mano de obra para fabricarse igual a t)
Luego,
( )
( )( )
{
32
1
321 70032
++ tt
xt
xtx
44 344 21
Es decir,(1) = El tiempo de mano de obra necesario para producir dex1unidades del
modelo I,x2unidades del modelo II yx3unidades del modelo III(2) = No puede sobrepasar(3) = El tiempo de mano de obra del que dispone la fbrica
Por ltimo, dividiendo por tla restriccin anterior nos quedara,
70032321 ++ xxx
-
8/11/2019 Programacion Lineal Jfa
9/91
Restricciones de no negatividad.
Tal y como se han definido las variables de decisin no tiene ningn sentido que tomen
valores negativos, luego:0,, 321 xxx
De manera que quedara el siguiente modelo:
++
=
=
++
++
++=
0,,700
025
032
150
250
200
3000724
2000532
asujeto
502030Maximizar
)(
321
331
221
1
32
21
3
2
1
321
321
321
xxxxxx
xx
xx
x
x
x
xxx
xxx
xxxz
P
Ejemplo 4:Produccin de cerveza.Cierta fbrica produce dos tipos de cerveza: rubia y negra. El precio de venta de 1 litrode cerveza rubia es de 5 , mientras que el de 1 litro de negra es de 3 . Un estudio
previo ha demostrado que para producir 1000 litros de cerveza rubia se requieren 3obreros en el proceso de produccin, mientras que 1000 litros de negra requieren 5obreros. La fbrica dispone de 15 obreros en total. Adems, producir 1000 litros de
rubia cuesta 500 mientras que 1000 litros de negra sale por 200 . El presupuesto deproduccin a la semana es como mucho 1000 . Determinar cmo debe hacerse laproduccin semanal para maximizar el ingreso en concepto de venta semanal.
Solucin:
Sean x e y el nmero de litros de cerveza rubia y negra producidas a la semana. Elproblema a resolver sera:
-
8/11/2019 Programacion Lineal Jfa
10/91
( )
( )
+
+
+
0,
100020010005001000
155100031000s.a.
35Maximizar
yx
yx
yx
yx
Si cambiamos el significado de las variables de decisin y llamamos:
x= n de miles de litros de cerveza rubia producida a la semana, yy= n de miles de litros de cerveza negra producida a la semana
El problema quedara as:
( )
+
+
+
0,
1000200500
1553
asujeto
30005000Maximizar
yx
yx
yx
yx
P
Que an sera equivalente a:
( )
+
+
+
0,
1025
1553
asujeto
35Maximizar
yx
yx
yx
yx
P
Salvo en el valor ptimo de la funcin objetivo, que en el caso de (P) es 1000 veces elde (P ).
Despus de ver como diferentes situaciones dan lugar a problemas cuyos modelostienen la misma estructura: minimizar o maximizar una funcin lineal en presencia derestricciones lineales del tipo desigualdad, igualdad o ambas, parece lgico queestudiemos dicha estructura de problema.
-
8/11/2019 Programacion Lineal Jfa
11/91
1.- Elementos que definen un problema de programacin lineal.
1.1 Definicin:Un problema de programacin lineal es un problema de minimizar omaximizar una funcin lineal en presencia de restricciones lineales del tipo desigualdad,
igualdad o ambas.
Expresin general de un modelo de programacin lineal:
( )
( )
( )
=+++
=+++
=+++
+++
)(0,,,
,,
,,
,,
asujeto
optimizar
21
2211
22222121
11212111
2211
nkxxx
bxaxaxa
bxaxaxa
bxaxaxa
xcxcxc
k
mnmnmm
nn
nn
nn
L
LMMMMM
L
L
L
Donde optimizar puede ser maximizar o minimizar. cj, biy aij(1 im ; 1 jn) sonconstantes determinadas por la tecnologa del problema y xj (j = 1,2,,n) son lasvariables de decisin. nicamente un signo ( , = o ) ocurre para cada restriccin.Algunas de las variables de decisin son declaradas no negativas, ms adelante
mostraremos que cada variable irrestricta puede convertirse equivalentemente envariables no negativas.
La restriccin de no negatividad, para todas las variables de decisin, es esencial para eldesarrollo del mtodo de solucin de los problemas de programacin lineal.
1.2 Definiciones bsicas:
Consideremos el siguiente problema de programacin lineal:
+++
+++
+++
+++
0,,,
asujeto
Minimizar
21
2211
22222121
11212111
2211
n
mnmnmm
nn
nn
nn
xxx
bxaxaxa
bxaxaxa
bxaxaxa
xcxcxc
L
L
MMMM
L
L
L
-
8/11/2019 Programacion Lineal Jfa
12/91
La expresin nnxcxcxc +++ L2211 recibe el nombre de funcin objetivo, debe
minimizarse y se suele denotar por z. Los coeficientes nccc ,,, 21 L de la funcin
objetivo son llamados coeficientes de costo y nxxx ,,, 21 L son las variables de
decisin que deben determinarse. Las desigualdades se referencian haciendo uso del
orden que ocupan, as ininii bxaxaxa 2211 +++ L denota la i-sima restriccin.Los coeficientes ija ( i = 1,2,,m ; j = 1,2,,n ) se llaman los coeficientes
tecnolgicos. Estos coeficientes forman la siguiente matriz de restricciones, A.
( )ij
mnmm
n
n
a
aaa
aaa
aaa
A =
=
L
MOMM
L
L
21
22221
11211
El vector columna,
=
mb
b
b M
1
, al cual se le llama el vector del lado derecho, representa
los requerimientos mnimos que deben satisfacerse (es decir, la limitacin de losrecursos a repartir entre las actividades), por eso a este vector tambin se le llamavector de requerimientos.
Las restricciones 0,,, 21 nxxx L son las restricciones de no negatividad.
Cualquier concrecin de valores para las variables de decisin ( )nxxx ,,, 21 L se llamasolucin (sin importar si es una eleccin deseable, o incluso admisible).
Una solucin factible es una solucin para la que se satisfacen todas las restricciones.
Al conjunto de todas las soluciones factibles se le llama regin factible.
Una solucin ptima es una solucin factible que tiene el valor ms favorable de lafuncin objetivo (la solucin ptima, en caso de existir, puede ser nica o haber ms deuna).
2.- Formas cannica y estndar.
Un problema de programacin lineal se dice que est escrito en formaestndar si todas las restricciones del problema son ecuaciones lineales y todas lasvariables son no negativas.
Diremos que un problema de programacin lineal de minimizacinest escritoen forma cannica si todas las variables son no negativas y todas las restriccionesson del tipo .
-
8/11/2019 Programacion Lineal Jfa
13/91
Diremos que un problema de programacin lineal de maximizacinest escritoen forma cannica si todas las variables son no negativas y todas las restriccionesson del tipo .
Observacin: El mtodo simplex, que es un mtodo para resolver problemas de
programacin lineal, est diseado para aplicarse slo despus de que el problema sehaya escrito en forma estndar.
En la siguiente tabla resumimos la forma estndar y cannica:
Problema de Minimizacin Problema de Maximizacin
Forma
Estndar
njx
mibxa
xc
j
n
j
ijij
n
j
jj
,,1;0
,,1;s.a.
Minimizar
1
1
L
L
=
==
=
=
njx
mibxa
xc
j
n
j
ijij
n
j
jj
,,1;0
,,1;s.a.
Maximizar
1
1
L
L
=
==
=
=
Forma
Cannica
njx
mibxa
xc
j
n
j
ijij
n
j
jj
,,1;0
,,1;s.a.
Minimizar
1
1
L
L
=
=
=
=
njx
mibxa
xc
j
n
j
ijij
n
j
jj
,,1;0
,,1;s.a.
Maximizar
1
1
L
L
=
=
=
=
3.- Paso de unas formas a otras (Manipulacin del problema).
Cualquier problema de programacin lineal se puede escribir en forma cannica o formaestndar, siempre que se quiera, de la siguiente forma:
a) Desigualdades y ecuaciones:
Una desigualdad se puede transformar fcilmente en una ecuacin.Consideremos una del tipo ( ). Este tipo de desigualdad es tpica en las restriccionesen las que el lado derecho representa la cantidad disponible de un recurso limitado y ellado izquierdo el consumo que de tal recurso hacen las variables de decisin. Ladiferencia entre el lado derecho y el lado izquierdo de la restriccin ( ) representa,
pues, la cantidad no usada u holguradel recurso.Para convertir una desigualdad ( ) en una ecuacin se suma una variable de
holgura no negativaal lado izquierdo de la restriccin. Por ejemplo, en el modelo quese plante en el ejemplo de la cerveza la restriccin asociada a la utilizacin de obrerosviene dada por
1553 + yx
-
8/11/2019 Programacion Lineal Jfa
14/91
Si definimos s como la holgura o cantidad no utilizada de obreros, tal restriccin esequivalente a la siguiente ecuacin, 1553 =++ syx , junto con, s0. Es decir, sonequivalentes:
=+++
0
15531553
s
syxyx
Por otro lado, una desigualdad del tipo ( ), suele darse en las restricciones en las que ellado derecho representa un lmite inferior para las actividades del modelo. Paraconvertir la desigualdad ( ) en igualdad ( = ), se resta una variable de holgura nonegativa al lado izquierdo de la restriccin. Por ejemplo, en el modelo de la dieta(ejemplo 1) la restriccin asociada a la cantidad mnima de fsforo, que cada animaldeba recibir al da, viene dada por
0.75x1 + 1.70x2 7.50Si definimos scomo la excedencia, tal restriccin es equivalente a la siguiente ecuacin,0.75x1+ 1.70x2 s= 7.50, junto con, s0. Es decir, son equivalentes:
=++
0
50.770.175.050.770.175.0 2121
s
sxxxx
Por otro lado una ecuacin cualquiera, por ejemplo, 15653 4321 =++ xxxx , se
puede escribir, de forma equivalente, como las dos desigualdades siguientessimultneas: 15653 4321 ++ xxxx y 15653 4321 ++ xxxx . Es decir, son
equivalentes:
++
++
=++ 15653
15653
15653 4321
4321
4321 xxxx
xxxx
xxxx las cuales se pueden escribir, de forma equivalente,
O bien,
+
++
15653
15653
4321
4321
xxxx
xxxx O bien,
++
+
15653
15653
4321
4321
xxxx
xxxx
Segn nos interese.
b) No negatividad de las variables: Como el mtodo simplex est diseado para resolver
problemas de programacin lineal escritos en forma estndar y dicha forma exige quetodas las variables de decisin han de ser no negativas, debemos ser capaces deconseguir que esto ocurra. As pues, actuaremos de la siguiente forma:
i) Si una variable jx no est restringida en su signo, entonces se puede reemplazar por
jj xx con 0jx y 0jx . Es decir, son equivalentes,
=
0
0airrestrict
j
j
jjj
j
x
x
xxx
x
-
8/11/2019 Programacion Lineal Jfa
15/91
En efecto, basta tomar 0,max jj xx = y 0,max jj xx =
ii) Si una variable jx no se tiene restringida a ser no negativa y sin embargo se dispone
de la siguiente restriccin, ctedonde =jjj
kkx , entonces la nueva variable
jjj kxx = es no negativa y en este caso reemplazaramos jx por jj kx + en elmodelo.
iii) Anlogamente, si una variable jx no se tiene restringida a ser no negativa y sin
embargo se dispone de la siguiente restriccin, ctedonde = jjj kkx ,
entonces la nueva variable jjj xkx = es no negativa y en este caso
reemplazaramos jx por jj xk en el modelo.
c) Problemas de minimizacin y maximizacin: Otra manipulacin del problemaconsiste en convertir un problema de maximizacin en un problema de minimizacin yviceversa. Para ello, observamos que sobre cualquier regin se verifica que:
==
=n
j
jj
n
j
jj xcxc11
MnimoMximo
De modo que un problema de maximizacin (minimizacin) se puede convertir en unproblema de minimizacin (maximizacin) multiplicando los coeficientes de la funcinobjetivo por 1. Despus de resolver el nuevo problema, el valor objetivo ptimo del
problema original es 1 por el valor objetivo ptimo del nuevo problema.
Ejemplo 5:Dado el problema de programacin lineal:
( )
+
+
=+
+=
airrestrict
0
42
634
33
asujeto
4Minimizar
1
2
21
21
21
21
x
x
xx
xx
xx
xxz
P
Escrbelo en formato estndar.
Solucin:
Como la variablex1es irrestricta haremos el cambio, 111 xxx = junto con
0
0
1
1
x
x
-
8/11/2019 Programacion Lineal Jfa
16/91
Por otro lado, en las restricciones segunda y tercera introducimos las variables deholgura, no negativas, x3 y x4, respectivamente. Quedando el modelo de la siguienteforma:
( )
=++
=+
=+
+=
0,,,,
42)(
63)(4
3)(3
asujeto)(4Minimizar
43211
4211
3211
211
211
xxxxx
xxxx
xxxx
xxx
xxxz
P
Es decir,
( )
=++
=+
=+
+=
0,,,,
42
6344
333
asujeto
44Minimizar
43211
4211
3211
211
211
xxxxx
xxxx
xxxx
xxx
xxxz
P
-
8/11/2019 Programacion Lineal Jfa
17/91
-
8/11/2019 Programacion Lineal Jfa
18/91
Una forma muy cmoda de averiguar que desigualdad le corresponde a cada semiplanoes la siguiente. Como todos los puntos que estn en un mismo semiplano deben cumplirla misma desigualdad, cogemos un punto cualquiera de uno de los semiplanos, que noest en la recta que delimita a los mismos, por ejemplo el origen (0,0). Sustituimos sus
coordenadas en la ecuacin de la recta, 1553 =+ yx , lo que nos dara 0 15. Pues bien,ya sabemos que el semiplano donde est el origen (0,0), tiene por ecuacin:
1553 + yx , y, por lo tanto, el otro semiplano tendr por ecuacin: 1553 + yx . Deforma anloga podemos representar los puntos del plano que cumplen la segundarestriccin, 1025 + yx . Por ltimo, las restricciones de no negatividad, x0, y0,que se tratan como las anteriores, lo que nos indican es que slo hemos de considerarlos puntos del primer cuadrante. De manera que la regin factible, F, ser la interseccinde todos estos semiplanos. Tal y como podemos apreciar en el siguiente dibujo.
Una vez que hemos representado la regin factible, el problema consiste en encontrar elpunto, o puntos, de la misma que hace mximo el valor de la funcin objetivo,
yxz 35 += . Para averiguar esto sera interesante que pudiramos introducir a la funcinobjetivo dentro de la representacin grfica que estamos haciendo del problema. Esto lo
podemos conseguir del siguiente modo. Observemos que si cogemos la expresin de lafuncin objetivo, yx 35 + , y la igualamos a una constante, k, obtendramos la ecuacinde una recta en el plano, kyx =+ 35 , ocurriendo que todos los puntos del plano queestn sobre esa recta proporcionan el mismo valor en la funcin objetivo del problema,es decir, en todos ellos ocurrir que z ser igual a k. Por otro lado, todas las rectas deecuacin kyx =+ 35 , cuando k es un nmero cualquiera, son paralelas entre s, convector perpendicular a todas ellas, el vector (5,3). Adems dicho vector, (5,3),
proporciona la direccin en la cual, si trasladamos la rectas paralelas en dicha direccin,ocurre que el valor de k aumenta. Esto nos indica una forma de proceder. Podemosempezar por dibujar la recta, 035 =+ yx , e ir dibujando rectas paralelas a ella, en la
direccin indicada por el vector (5,3), al hacer esto vemos que llegar un momento enque tales rectas dejarn de cortar a la regin factible y adems por pura observacin
-
8/11/2019 Programacion Lineal Jfa
19/91
somos capaces de observar en qu punto (o puntos) se despegaran estas rectas de laregin factible, tal como se puede apreciar en el siguiente dibujo:
Luego, a la vista del dibujo, vemos que la solucin ptima del problema ser el punto decorte de las rectas, 1553 =+ yx y 1025 =+ yx . Es decir, el mximo de la funcinobjetivo sobre la regin factible F se obtiene en el punto Q(20/19,45/19), que es el
punto de interseccin de tales rectas. El valor que toma la funcin objetivo en lasolucin ptima del problema es:
12.3684219235
19453
19205 ==+
Una vez que hemos visto cmo se resuelve grficamente un problema de programacinlineal con dos variables de decisin se nos podra ocurrir reflexionar sobre cules
pueden ser las situaciones que se podran presentar en un problema de programacinlineal, de dos variables. La respuesta a esta pregunta la tenemos en el siguienteapartado:
-
8/11/2019 Programacion Lineal Jfa
20/91
Casos posibles:
Vamos a ver con diversos ejemplos todas las situaciones que pueden presentarserespecto a la regin factible de un problema de programacin lineal; as como respectoal alcance del valor ptimo de la funcin objetivo en uno, ninguno o infinitos puntos.
Suponemos que los grficos que vienen a continuacin representan la regin factible, F,en el espacio de las variables de decisin, suponiendo que hay dos variables de decisin,y que los problemas son de maximizar en forma cannica.
Caso a): ptimo nico finito. Se pueden dar dos subcasos:
Subcaso a1)Regin factible F acotada
Un vrtice ptimo
Subcaso a2)Regin factible F no acotada
Un vrtice ptimo
Caso b): Infinitos puntos de ptimo finito: Se pueden dar tres subcasos:
Subcaso b1)Regin factible F acotada
Infinitos puntos ptimos en una aristaentre dos vrtices ptimos.
Subcaso b2)Regin factible F no acotada
Infinitos puntos ptimos en un rayoinfinito que parte de un vrtice ptimo.
-
8/11/2019 Programacion Lineal Jfa
21/91
Subcaso b3)Regin factible F no acotada
Infinitos puntos ptimos en una arista finita entre dos vrtices ptimos
Caso c): Valor objetivo ptimo no acotado. Este caso slo puede darse si la reginfactible, F, es no acotada.
Como se puede apreciar en el dibujo el valor de la funcin objetivo no est acotado enla regin factible. Es decir, dado cualquier nmero real positivo, por grande que sea, se
pueden encontrar soluciones factibles del problema donde el valor de la funcinobjetivo supera al nmero dado.
-
8/11/2019 Programacion Lineal Jfa
22/91
Caso d): Regin factible, F, vaca.
Sea el siguiente problema de programacin lineal:
+
=
0,
4
22
32
asujeto32Maximizar
)(
yx
y
yx
yx
yxz
P
Representamos la regin factible.
Como podemos observar, la regin factible es vaca. Es decir, el problema no tienesoluciones factibles.
Observando los casos que acabamos de ver apreciamos que cuando un problema de
programacin lineal tiene solucin ptima finita, aunque haya infinitas de ellas, siemprehay al menos un vrtice ptimo. Esto es un hecho general, que se puede demostrar. Dehecho, el mtodo simplex, que como ya hemos dicho resuelve los problemas de
programacin lineal, est diseado para buscar la solucin (o soluciones) ptima atravs de los vrtices de la regin factible del problema.
-
8/11/2019 Programacion Lineal Jfa
23/91
Por supuesto que problemas de programacin lineal con tres variables de decisintambin se pueden resolver grficamente, el inconveniente radica en que hacer talrepresentacin grfica sobre una hoja de papel resulta muy tedioso, pues estaramosrepresentando objetos tridimensionales sobre un plano. Por ejemplo, supongamos el
siguiente problema de programacin lineal:
Ejemplo 6:
+
++
++=
0,,
63
3
2
4
asujeto
Maximizar
)(
321
32
3
1
321
332211
xxx
xx
x
x
xxx
xcxcxcz
P
Aqu procederamos exactamente igual que en el caso de dos variables. Es decir, setratara de representar grficamente la regin factible, F, del problema. Ahora bien, elconjunto F estara formado por todos los puntos ( )321 ,, xxx R
3 que cumplan
simultneamente, todas las restricciones. Observemos que todas las restricciones,incluidas las de no negatividad, son del tipo,
dcxbxax ++ 321 Donde a, b, c, d son nmeros reales cualesquiera, con la nica condicin de que a, bycno sean cero a la vez.
Pues bien, para ver qu puntos de R3, cumplen la expresin, dcxbxax ++ 321 ,
observamos que la ecuacin lineal, dcxbxax =++ 321 , es la ecuacin de unplano
en el espacio, siendo el vector ( )cba ,, , perpendicular a dicho plano. Tal plano, divideal espacio en dos partes iguales, llamadas semiespacios, las que quedan a ambos ladosdel plano. Las ecuaciones de cada uno de esos semiespacios son:
dcxbxax ++321
y dcxbxax ++321
Como ya indicamos en el caso de dos variables, una forma muy cmoda de averiguarque desigualdad le corresponde a cada semiespacio es la siguiente. Como todos los
puntos que estn en un mismo semiespacio deben cumplir la misma desigualdad,cogemos un punto cualquiera de uno de los semiespacios, que no est en el plano quehace de frontera entre los mismos, por ejemplo el origen (0,0,0), en el caso de que d0.Entonces si, por ejemplo, fuera d< 0 sucedera que todos los puntos que estuvieran enel mismo semiespacio que el origen (0,0,0) cumpliran la ecuacin: dcxbxax ++ 321 .
De manera que la regin factible, F, del problema ser la interseccin de lossemiespacios determinados por todas las restricciones del problema. En este ejemploconcreto la regin factible del problema la podemos ver en el siguiente dibujo:
-
8/11/2019 Programacion Lineal Jfa
24/91
Evidentemente, segn sea la funcin objetivo,z= c1x1+ c2x2+ c3x3, que tengamos quemaximizar en el problema, se podrn dar distintas situaciones, siendo todas las posibles,las que aparecen a continuacin:
-
8/11/2019 Programacion Lineal Jfa
25/91
Como se puede apreciar en cualquiera de las situaciones, siempre que el problema tienesoluciones ptimas hay alguna solucin ptima en un vrtice de la regin factible.
-
8/11/2019 Programacion Lineal Jfa
26/91
5.- Soluciones bsicas de sistemas de ecuaciones lineales.
Una ecuacin lineal es una expresin de la forma:
a1x1+ a2x2+ + anxn= b
donde los nmeros a1, , anR, se llaman coeficientesy son conocidos, las letrasx1,,xnse llaman incgnitasy son desconocidas y el nmero bR, que es conocido, sellama trmino independiente olado derecho (abreviadamente, l.d.).
Ejemplos:a) La ecuacin, 2x 3y = 1, es una ecuacin lineal. Con coeficientes : 2, 3;
incgnitas:x,y; trmino independiente: 1.b) La ecuacin, 2x+ 3y 2z+ 5t= 12, es otra ecuacin lineal con coeficiente: 2, 3,
2, 5; incgnitas:x,y,z, t; trmino independiente: 12.
Un conjunto de ecuaciones del tipo anterior se llama sistema de ecuaciones lineales.Lo escribiremos en la forma
=+++
=+++
=+++
mnmnmm
nn
nn
bxaxaxa
bxaxaxa
bxaxaxa
K
LLLLLLLLLLLL
K
K
2211
22222121
11212111
(1)
y diremos que es un sistema de m ecuaciones con n incgnitas.
Ejemplos:
a) El sistema
=++
=+
4
623
zyx
zyx
es un sistema de dos ecuaciones con tres incgnitas.
b)
El sistema
=+
=+
=+
=+
=+
142
03
25
22
1432
zyx
zy
zx
yx
zyx
es un sistema de 5 ecuaciones con 3 incgnitas.
Dado un sistema de ecuaciones lineales:
=+++
=+++
=+++
mnmnmm
nn
nn
bxaxaxa
bxaxaxa
bxaxaxa
K
LLLLLLLLLLLL
K
K
2211
22222121
11212111
(1)
-
8/11/2019 Programacion Lineal Jfa
27/91
a) Una secuencia ordenada de nmeros (s1, , sn) se dice una solucin delsistema si, al sustituir en las ecuaciones cada incgnitaxipor el correspondiente
si, se verifican todas las igualdades resultantes.
b) Si un sistema tiene alguna solucin diremos que es compatible; si, por el
contrario, no tiene ninguna solucin diremos que es incompatible.
c) Si un sistema es compatible diremos que es determinado si la solucin esnica, en otro caso, es decir, si tiene ms de una solucin, diremos que esindeterminado.
d) Diremos que dos sistemas de ecuaciones son equivalentes si tienenexactamente las mismas soluciones.
Ejemplos:
a) Sistema incompatible:
=+=+
21
yx
yx
No tiene solucin.
b) Sistema compatible determinado:
=
=+
123
2
yx
yx
Tiene solucin nica (s1,s2) = (1, 1)
c) Sistema compatible indeterminado:
=++
=+
2
1232
zyx
zyx
Tiene ms de una solucin, por ejemplo, (s1,s2,s3) = (1, 1, 0) y (s1,s2,s3) =(0, 1, 1).
OBSERVACI: A la hora de escribir un sistema usaremos la notacin matricial. Estaconsiste en escribir entre parntesis los coeficientes del sistema separados por espaciosen blanco y, a su derecha, los trminos independientes.
As, el siguiente sistema:
(1)
2211
22222121
11212111
=+++
=+++
=+++
mnmnmm
nn
nn
bxaxaxa
bxaxaxa
bxaxaxa
L
MMLMML
L
se escribe, en forma matricial, como:
mmnmm
n
n
b
b
b
aaa
aaa
aaa
M
L
MMMM
L
L
2
1
21
22221
11211
-
8/11/2019 Programacion Lineal Jfa
28/91
La matriz anterior se suele llamar, la matriz ampliada del sistema, y es una matriz conmfilas y (n+1) columnas, es decir, tantas filas como ecuaciones y tantas columnas como(n de incgnitas) + 1.
Hay tres modos de manipular las ecuaciones de un sistema que no varan lassoluciones. Es decir, que proporcionan un sistema equivalente.
1. Cambiar el orden de las ecuaciones.2. Multiplicar una ecuacin por un nmero no nulo.3. Sumar a una ecuacin un mltiplo de otra.
Estas tres operaciones se llaman operaciones elementales en las ecuaciones delsistema. Obviamente, cualquiera de estas operaciones puede deshacerse.
A continuacin veremos cmo, adoptando una notacin matricial, ms fcil de
manejar, se pasa de un sistema dado a otro equivalente utilizando slo operacioneselementales. As, dado el siguiente sistema de ecuaciones lineales:
(1)
2211
22222121
11212111
=+++
=+++
=+++
mnmnmm
nn
nn
bxaxaxa
bxaxaxa
bxaxaxa
L
MMLMM
L
L
construimos la matriz ampliada del sistema:
mmnmm
n
n
b
b
b
aaa
aaa
aaa
M
L
MMMML
L
2
1
21
22221
11211
resulta evidente que las operaciones elementales en las ecuaciones del sistema equivalea hacer las mismas operaciones en las filas de la matriz ampliada, tal como sigue:
1. Cambiar el orden de las ecuaciones del sistema = Cambiar el orden de las filasde la matriz ampliada.
2. Multiplicar la i-sima ecuacin del sistema por un nmero no nulo = Multiplicar
la i-sima fila de la matriz ampliada por dicho nmero.3. Sumar a la ecuacin ila ecuacinjmultiplicada por = Sumar a la fila ila filajmultiplicada por .
Definicin.: Diremos que un sistema de ecuaciones est escrito en forma bsica sisucede que en cada ecuacin del sistema existe, al menos, una incgnita que apareceslo en dicha ecuacin, no apareciendo tal incgnita en el resto de ecuaciones. Adems,cada una de estas incgnitas, que aparecen en una sola ecuacin, debe tener coeficienteigual a 1.
Observemos que un sistema escrito en forma bsica necesariamente es compatible.
Ejemplos: Los siguientes sistemas estn escritos en forma bsica.
-
8/11/2019 Programacion Lineal Jfa
29/91
a)
=+
=++
132
223
zyx
tzx Sistema escrito en forma bsica.
En la 1 ecuacin encontramos a la incgnita t que slo aparece en dicha
ecuacin y tiene un coeficiente igual a 1 y en la segunda ecuacin est laincgnitayque slo aparece en dicha ecuacin y tiene un coeficiente igual a 1.
b)
=+
=++
=+
7
12
23
41
531
321
xx
xxx
xxx
Sistema escrito en forma bsica.
En la 1 ecuacin encontramos a la incgnita x2 que slo aparece en dichaecuacin y tiene un coeficiente igual a 1. En la 2 y 3 ecuaciones estn lasincgnitasx5yx4, respectivamente, cumpliendo la misma propiedad.
c)
=+
=+++
=+
32
03
15
41
5321
631
xx
xxxx
xxx
Sistema escrito en forma bsica.
En la 1 ecuacin encontramos a la incgnita x6 que slo aparece en dichaecuacin y tiene un coeficiente igual a 1. En la 2 ecuacin estn las incgnitas
x2yx5que slo aparecen en esta ecuacin y que tienen coeficiente igual a 1. Enla 3 ecuacin es la incgnitax4la que tiene esta propiedad.
Si representamos los sistemas a) b) y c) en forma matricial mediante sus matricesampliadas.
a)
1
2
0312
1203
.. dltzyx
b)
..54321 dlxxxxx
7
1
2
01001
10102
00113
c)
.. 654321 dlxxxxxx
3
0
1
001002
010113
100501
Vemos que lo que nos indica que tales sistemas estn en forma bsica es que en el ladoizquierdo de la matriz ampliada, podemos identificar la matriz identidad, posiblementecon las columnas desordenadas, de orden igual al nmero de ecuaciones del sistema.
-
8/11/2019 Programacion Lineal Jfa
30/91
En efecto:
a)
=+
=++
132
223
zyx
tzx
Matrizampliada
12
03121203
.. dltzyx
Identidad (desordenada)
b)
=+
=++=+
7
1223
41
531
321
xx
xxx
xxx
Matrizampliada
..54321 dlxxxxx
7
1
2
01001
10102
00113
Identidad (desordenada)
c)
=+
=+++
=+
32
03
15
41
5321
631
xx
xxxx
xxx
Matrizampliada
.. 654321 dlxxxxxx
3
0
1
001002
010113
100501
Aqu se pueden identificar dos identidades (ambas desordenadas).
Definicin: Cuando un sistema se encuentra escrito en forma bsica, a las variables
(incgnitas) donde est ubicada la identidad (posiblemente desordenada), cuando se
-
8/11/2019 Programacion Lineal Jfa
31/91
escribe la matriz ampliada, se les llama variables bsicas y al resto de variables,variables no bsicas.
Dado un sistema en forma bsica, si se quiere indicar quienes son las variables bsicasse hace escribindolas entre llaves, separadas por comas y ponindolas en el orden
adecuado para que la identidad estuviera bien escrita. Es decir, se forma con ellas unconjunto. A este conjunto se le suele denotar por B y se le suele llamar base. Con elresto de variables se forma otro conjunto, el de las variables no bsicas, al que se sueledenotar por N. As en los ejemplos anteriores tenemos que:
a)
=+
=++
132
223
zyx
tzxSistema escrito en forma bsica.
Siendo B = {t,y} las variablesbsicasy N = {x,z} las variablesnobsicas.
b)
=+
=++=+
7
1223
41
531
321
xx
xxxxxx
Sistema escrito en forma bsica.
Siendo {x2,x5,x4} las variablesbsicasy {x1,x3} las variablesnobsicas.
c)
=+
=+++
=+
32
03
15
41
5321
631
xx
xxxx
xxx
Sistema escrito en forma bsica.
En este caso hay dos posibilidades: Considerar {x6, x2, x4} variablesbsicasy{x1,x3,x5} variablesnobsicas. O bien, considerar {x6,x5,x4} variablesbsicasy {x1,x2,x3} variablesnobsicas.
Observacin: Cuando un sistema est escrito en forma bsica la solucin del mismo esinmediata. En efecto, basta con pasar al lado derecho de las ecuaciones a las variablesno bsicas y dar a stas libremente los valores reales que queramos para encontrar losvalores de las variables bsicas, correspondientes a los valores dados a las no bsicas.
a) En efecto, dado el sistema en forma bsica
=+
=++
132
223
zyx
tzx, pasamos al lado
derecho las variables no bsicas, obteniendo,
+=
=
zxy
zxt
321
232o escrito en forma
vectorial, zxy
t
3
2
2
3
1
2
=
. Ahora damos a las variables no bsicas, x, z
cualesquiera valores reales y obtenemos las infinitas soluciones del sistema.
-
8/11/2019 Programacion Lineal Jfa
32/91
b) dado el sistema en forma bsica
=+
=++
=+
7
12
23
41
531
321
xx
xxx
xxx
, pasamos al lado
derecho las variables no bsicas, obteniendo,
==
+=
721
32
14
315
312
xx
xxx
xxx
, o escrito en
forma vectorial,31
4
5
2
0
1
1
1
2
3
7
1
2
xx
x
x
x
=
. Ahora damos a las variables no
bsicas,x1yx3cualesquiera valores reales y obtenemos las infinitas solucionesdel sistema.
c) sea el sistema en forma bsica
=+
=+++
=+
32
03
15
41
5321
631
xx
xxxx
xxx
. Como este
sistema tiene dos posibles conjuntos de variables bsicas (es decir, dos posiblesbases), a saber, B1 = {x6, x2, x4} y B2 = {x6, x5, x4}, seleccionamos unacualquiera de ellas, por ejemplo la base B1= {x6,x2,x4} en cuyo caso seran no
bsicas las variables {x1, x3, x5}. Pasamos al lado derecho las variables no
bsicas, obteniendo,
+=
=
++=
23
30
51
14
5312
316
xx
xxxx
xxx
, o escrito en forma vectorial,
531
4
2
6
01
0
01
5
23
1
30
1
xxx
x
x
x
=
. Ahora damos a las variables no bsicas, x1
, x3 y x5 cualesquiera valores reales y obtenemos las infinitas soluciones delsistema.
Una vez que hemos visto todos estos ejemplos podemos enunciar la siguiente propiedadgeneral.
Propiedad: Todo sistema de ecuaciones lineales en forma bsica tiene la siguiente
propiedad. Para cada asignacin de nmeros reales arbitrarios a las variables no bsicas,existe una y slo una solucin del sistema en la cual las variables no bsicas tienen esosvalores que les hemos asignado. En particular, existe una nica solucin del sistema enla que cada variable no bsica tiene el valor 0. El valor de cada variable bsica, en estecaso, es el lado derecho de la nica ecuacin que contiene a tal variable.
Definicin: Dado un sistema de ecuaciones en forma bsica, llamamos solucinbsica,de dicho sistema, a la nica solucin que se obtiene cuando le damos el valor 0 a todaslas variables no bsicas.
-
8/11/2019 Programacion Lineal Jfa
33/91
Ahora parece lgico plantearse la siguiente cuestin: dado un sistema de ecuacioneslineales existir otro sistema de ecuaciones lineales en forma bsica que sea equivalenteal primero. La respuesta es que s. De hecho, lo normal es que existan bastantes.
Reduccin de un sistema compatible a otro equivalente en forma bsica:
Vamos a dar un procedimiento que nos va a permitir pasar de un sistema de ecuacioneslineales a otro equivalente en forma bsica. El procedimiento lo vamos a describir sobreun ejemplo concreto. Sea pues el siguiente sistema de ecuaciones lineales:
( )S
xxxxxx
xxxxx
xxxx
xxxxxx
27432
03191196
88426
6395432
654321
65421
6543
654321
=+++
=++
=+
=++
Evidentemente, podemos utilizar el mtodo de Gauss para pasar de este sistema a otroequivalente escrito en forma escalonada reducida, que es una forma bsica. Pero lo quevamos a hacer es, utilizando la misma idea, ser un poco ms libre a la hora de elegir los
pivotes. En primer lugar escribimos la matriz ampliada del sistema:
M=
2174132
031911096
8842600
6395432
M
M
M
M
Sabemos que un sistema est en forma bsica si en el lado izquierdo de su matriz
ampliada est la identidad (posiblemente, desordenada). Pues bien se trata de irhaciendo operaciones elementales, sobre la matriz ampliada, hasta conseguir esto. El
proceder ser seleccionar cualquier entrada distinta de cero, del lado izquierdo, comoelemento pivote. A continuacin, dividimos la fila donde est el elemento pivote pordicho nmero, para obtener un 1, y con este 1 hacemos cero, mediante operacioneselementales, el resto de los elementos de la columna donde est el pivote. Una vezhecho esto ya tenemos un vector unitario en la posicin de la columna donde estaba el
pivote. Ahora seleccionaramos otra entrada, en el lado izquierdo de la matriz, distintade cero, siempre que no se encuentre en la fila o filas de los unos existentes en lascolumnas unitarias ya conseguidas y procederamos como se ha indicado. Vemos estosobre nuestro ejemplo.
Empezamos seleccionando al 1 de la tercera columna como elemento pivote.
Ahora pivotando sobre este elemento hacemos ceros en las restantes entradas de lacolumna donde est el pivote. Para ello, y haciendo uso de la siguiente notacin:
Fi significa que multiplicamos la fila ipor el nmero no nulo .FiFj significa que a la fila ile sumamos/restamos la filajmultiplicada por .
hacemos lo siguiente,
-
8/11/2019 Programacion Lineal Jfa
34/91
2174132
031911096
8842600
6395432
M
M
M
M41
2
4
46
FF
FF
2174132
031911096
414382201812
271911096
M
M
M
M
Ahora seleccionamos el siguiente elemento pivote,
y hacemos las siguientes operaciones elementales:
2174132
031911096
414382201812
271911096
M
M
M
M
361 F
2174132
02/16/196/1102/31
414382201812
271911096
M
M
M
M
32
31
34
126
2
FFFF
FF
++
203/23/1100
02/16/196/1102/31
4800000
2400000
M
M
M
M
Ahora seleccionamos el siguiente elemento pivote,
y hacemos las siguientes operaciones elementales:
203/23/1100
02/16/196/1102/31
4800000
2400000
M
M
M
M
141 F
203/23/1100
02/16/196/1102/31
4800000
2/1100000
M
M
M
M
12
121
3
8FF
FF
+
203/23/1100
4/106/196/1102/31
0000000
2/1100000
M
M
M
M
Llegados aqu como la segunda fila se ha anulado se puede quitar,
Lo que nos dejara la siguiente matriz,
M=
203/23/1100
4/106/196/1102/31
2/1100000
M
M
M
-
8/11/2019 Programacion Lineal Jfa
35/91
Donde fcilmente se identifica, en el lado izquierdo, una matriz identidad(desordenada).
Luego el sistema, cuya matriz ampliada es la de arriba, est en forma bsica, como sepuede comprobar:
( )S
xxx
xxxx
x
=+
=+
=
23
2
3
1
4
1
6
19
6
11
2
32
1
543
5421
6
Sistema en forma bsica.
Siendo {x6,x1,x3} las variables bsicas y {x2,x4,x5} las variables no bsicas.
Observaciones al procedimiento:
Recordemos que dos matrices se dice que son equivalentespor filas si se puede pasarde una a otra mediante una sucesin de operaciones elementales por filas. As, matricesequivalentes representan sistemas equivalentes.
Como hemos pasado de la matriz M a la matriz M haciendo operaciones elementales defilas. Resulta que los sistemas (S) y (S) son equivalentes. De manera que hemos pasadode un sistema (S) a otro equivalente (S) que est en forma bsica.
Durante el procedimiento slo hemos usado dos, de las tres, operaciones elementalesde filas, multiplicar una fila por un nmero distinto de cero y sumar a una fila unmltiplo de otra; es decir, nunca hemos intercambiado filas, de hecho no nos hace faltaesta operacin ya que buscbamos la identidad, aunque estuviera desordenada. Comoconsecuencia, si durante el mtodo nos ocurre que alguna fila se anula por completo, esdecir, tiene todas sus entradas iguales a cero, podemos afirmar, sin equivocarnos, que laecuacin correspondiente a tal fila, en el sistema original del que partimos, escombinacin lineal del resto de ecuaciones del sistema y por lo tanto podemoseliminarla del sistema original. Como en nuestro caso se anul la segunda fila. Podemosasegurar que los siguientes sistemas son equivalentes:
( )S
xxxxxx
xxxxx
xxxx
xxxxxx
27432
03191196
88426
6395432
654321
65421
6543
654321
=+++
=++
=+
=++
=+++
=++
=++
27432
03191196
6222222
654321
65421
654321
xxxxxx
xxxxx
xxxxxx
Y stos, a su vez, son equivalentes al siguiente sistema en forma bsica:
-
8/11/2019 Programacion Lineal Jfa
36/91
( )S
xxx
xxxx
x
=+
=+
=
23
2
3
1
4
1
6
19
6
11
2
32
1
543
5421
6
Otra consecuencia del procedimiento es que de ahora en adelante, cada vez quetengamos un sistema compatible supondremos que es de rango completo, es decir, quesi tenemos el sistema de ecuaciones lineales compatible,
=+++
=+++
=+++
mnmnmm
nn
nn
bxaxaxa
bxaxaxa
bxaxaxa
L
MMLMM
L
L
2211
22222121
11212111
Sistema que se puede escribir matricialmente como, bxA = , donde:
=
mnmm
n
n
aaa
aaa
aaa
A
L
MMMM
L
L
21
22221
11211
es la matriz del sistema,
=
mb
b
b M
1
es el vector del lado
derecho y
=
nx
x
x M
1
es el vector de variables incgnitas. Supondremos que m< ny que
rango(A) = m. A esta suposicin la llamaremos hiptesis del rango completo.
As, acabamos de ver que como dado el sistema,
)(
27432
03191196
6222222
654321
65421
654321
S
xxxxxx
xxxxx
xxxxxx
=+++
=++
=++
(hemos eliminado la ecuacin redundante -hiptesis del rango completo-)Podemos encontrar otro equivalente, (S), en forma bsica
( )S
xxx
xxxx
x
=+
=+
=
23
2
3
1
4
1
6
19
6
11
2
321
543
5421
6
Donde el conjunto de variables bsicas es B = {x6, x1, x3} (conjunto llamado base).Adems observa que esto nos permite conocer una solucin bsica del sistema (S). Lanica que se obtiene cuando hacemos todas las variables no bsicas iguales a cero en elsistema equivalente en forma bsica (S), es decir,
( )
= 2
1,0,0,2,0,4
1,,,,, 654321 xxxxxx
-
8/11/2019 Programacion Lineal Jfa
37/91
Encontrando nuevos sistema en forma bsica equivalentes al original:
Lo interesante es que una vez que tenemos un sistema en forma bsica equivalente aloriginal es muy fcil encontrar nuevos sistemas equivalentes, tambin en forma bsica.Para hacer esto lo mejor es seguir trabajando con la matriz ampliada del sistema:
Observando la matriz ampliada del sistema (S):
Vemos que para dar un nuevo sistema equivalente en forma bsica basta con que laidentidad (aunque siga desordenada) cambie a una nueva ubicacin, siempre en el ladoizquierdo da la matriz. Si conseguimos esto mediante operaciones elementales de fila, elnuevo sistema sigue siendo equivalente. Por lo tanto, si cogemos cualquier elementodistinto de cero, del lado izquierdo de la matriz y que no est en la identidad, y
pivotamos sobre l cambiaremos la ubicacin de la identidad. Por ejemplo, si tomamos
el siguiente elemento, elegido de forma totalmente arbitraria, y pivotamos sobre l.
El vector unitario
0
1
0 pasara de estar debajo de la variable x1 a estar debajo de la
variablex4., mientras que los otros dos vectores unitarios
0
0
1y
1
0
0seguiran quedando
bajo las variablesx6yx3, respectivamente.
Es decir, antes del pivoteo, sobre el elemento 11/6, la base B estaba formada por lasvariables bsicas B = {x6, x1, x3} y tras el pivoteo la nueva base est formada por lasvariables bsicas, {x6, x4, x3}. Esto se expresa diciendo que la variable x4entra en labase y la variable x1sale de la base. Adems en este momento, conocemos una nuevasolucin bsica del sistema (S), la que se obtiene si en el nuevo sistema equivalente, enforma bsica, hacemos todas las variables no bsicas iguales a cero, es decir, sihacemos, x1 = x2 = x5 = 0, en el sistema correspondiente a la matriz ampliada queacabamos de obtener, es decir, el siguiente sistema:
-
8/11/2019 Programacion Lineal Jfa
38/91
=++
=+
=
22
45
11
1
11
3
11
122
3
11
19
11
9
11
6
2
1
5321
5421
6
xxxx
xxxx
x
De manera que obtendramos: ( )
=2
1,0,
22
3,
22
45,0,0,,,,, 654321 xxxxxx como
una nueva solucin bsica del sistema (S), la correspondiente a la base {x6,x4,x3}.
Observemos que para conocer las soluciones bsicas que vamos encontrando no hacefalta escribir explcitamente los sistemas bsicos, nos sobra con trabajar directamente enlas matrices. Este proceder se puede continuar y, si somos cuidadosos en la forma detrabajar, podemos realizarlo de una manera muy compacta mediante las siguientestablas enlazadas, una a continuacin de otra:
Tablas:
1
2
3
4
5
6
En primer lugar observemos como en la primera columna se indica quienes son lasvariables bsicas, en cada una de las tablas.
Como se puede ver, cada tabla identifica una solucin bsicadel sistema original (S).As, la 1 tabla representa a la solucin bsica,
-
8/11/2019 Programacion Lineal Jfa
39/91
( )
=
2
1,0,
22
3,
22
45,0,0,,,,, 654321 xxxxxx
donde la base est formada por las variables bsicas {x6, x4, x3}, como se indica en laprimera columna de las tablas, siendo el resto de variables no bsicas. Observemos quela columna del lado derecho (l.d.) proporciona el valor de las variables bsicas, cuandotodas las variables no bsicas se igualan a cero. Con el resto de tablas pasa lo mismo,
por ejemplo, la 4 tabla representa a la solucin bsica,
( )
=2
1,0,6,0,0,
22
45,,,,, 654321 xxxxxx
donde la base est formada por las variables, {x6,x1,x4}, siendo el resto de las variablesno bsicas.
Para pasar de una tabla a otra nos hemos limitado a escoger, de forma arbitraria, algnelemento distinto de cero y que no est en las columnas de la identidad (las sombreadas)como pivote (los elementos cubiertos por un crculo). Cada vez que se realiza una
operacin de pivoteo, es decir, cada vez que pasamos de una tabla a la siguiente, ocurreque una variable entra en la base (a la nueva base, la de la siguiente tabla) y otravariable sale la base.
Luego disponemos de tantos sistemas en forma bsica equivalentes al original comotablas distintas podamos ir construyendo. En cualquier caso el nmero de tales tablas esfinito y podemos dar una cota del mismo. Recordemos que habamos partido delsiguiente sistema de ecuaciones, de rango completo:
( )S
27432
03191196
6222222
654321
65421
654321
=+++
=++
=++
xxxxxx
xxxxx
xxxxxx
donde la matriz del sistema es, A=
174132
31911096
222222y la matriz ampliada es
2
0
6
174132
31911096
222222 y que encontramos un sistema equivalente en forma
bsica cada vez que mediante operaciones elementales sobre las filas de la matrizampliada encontramos a la identidad (posiblemente desordenada) en la parte izquierda
de la matriz ampliada, es decir en la matriz del sistema. Ahora bien, si haciendooperaciones elementales apareciera la identidad de orden tres en las columnas 6, 1 y 4
(en ese orden), esto indicara que la submatriz de A,
=
421
1163
222
B , formada por las
columnas 6, 1 y 4 de la matrizA, es una matriz invertible. Luego habr tantas formasde ubicar la identidad (aunque est desordenada) en la matriz Ay, por lo tanto tantossistemas en forma bsica equivalentes al sistema original, como submatrices de A,formadas por tres columnas que sean linealmente independientes. Evidentemente este
nmero est acotado por el nmero combinatorio
3
6
. Que son las combinaciones de
-
8/11/2019 Programacion Lineal Jfa
40/91
las 6 columnas que forman la matriz A tomadas de tres en tres. Cada una de estassubmatrices formadas por tres columnas linealmente independientes de la matrizAserauna base del espacio vectorial R3(pues las columnas deAse pueden considerar vectoresde R3). Este es el motivo por el que se llama variables bsicas a las variables bsicas,
porque las columnas deAasociadas a ellas forman una base de R3(en general de Rm).
En general, dado el sistema de ecuaciones lineales, escrito matricialmente, bxA = ,donde la (mn)-matriz del sistema A, con m< n, es de rango completo, el nmero de
soluciones bsicas del sistema est acotado por
m
n.
Dado un sistema de ecuaciones lineales, escrito matricialmente, bxA = , siendoAuna(mn)-matriz, con m< ny rango(A) = m. Como sabemos que cualquier solucin bsica
del mismo tendr m variables bsicas y n m variables no bsicas, iguales a cero.Podramos buscar soluciones bsicas del sistema seleccionando, arbitrariamente, nmincgnitas como variables no bsicas, hacindolas iguales a cero y resolviendo elsistema que quedara de m ecuaciones con m incgnitas. Si este sistema, que queda,tiene solucin nica habremos encontrado una solucin bsica del sistema.
-
8/11/2019 Programacion Lineal Jfa
41/91
6.- El mtodo simplex.
El mtodo grfico que hemos utilizado para resolver problemas de programacin linealnos ha mostrado que cuando la regin factible de un problema de programacin linealno es vaca, siempre tiene puntos esquina (o vrtices) y, lo que es ms importante, que si
el problema tiene solucin ptima finita siempre existe, al menos, una en un puntovrtice de la regin factible. Este resultado es clave en el desarrollo del mtodo simplexque resuelve los problemas de programacin lineal. Como los problemas con ms detres variables de decisin no se pueden visualizar (vivimos en un espaciotridimensional) no tenemos ms remedio que caracterizar algebraicamente a los puntosvrtice de la regin factible. Esto se consigue convirtiendo todas las restricciones dedesigualdad del problema (excepto las de no negatividad) en ecuaciones y dando una
propiedad algebraica que slo la cumplen los vrtices de la regin factible.
El mtodo simplex resuelve el problema en iteraciones. Parte de un vrtice de la reginfactible y en cada iteracin se traslada a un nuevo vrtice con mejor valor potencial de
la funcin objetivo. El proceso acaba cuando llega a un vrtice cuyo valor objetivo nopuede ser mejorado.
Vamos a presentar el mtodo simplex resolviendo un problema concreto deprogramacin lineal con dos variables de decisin para poder visualizar lo que hace elmtodo. Sea pues el siguiente problema de programacin lineal:
Ejemplo 7:
( )
+
+
+=
0,
32
2
1283asujeto
2Maximizar
P
21
1
21
21
21
xx
x
xx
xx
xxz
Lo primero que haremos con el problema es escribirlo en forma estndar, con todos loscoeficientes del lado derecho en positivo. Es decir, todas las restricciones, excepto lasde no negatividad, se convierten en ecuaciones y todas las variables han de estar
restringidas a ser mayores o iguales a cero. Adems conviene que todos los ladosderechos de las ecuaciones sean no negativos. Esto es inmediato, pues si algunaecuacin tiene el lado derecho negativo multiplicamos tal ecuacin por 1 y seconsigue lo que queremos.
Para escribir el problema en forma estndar, es decir, para transformar las desigualdades() en ecuaciones, sumamos las variables de holgurax3,x4yx5en el lado izquierdo delas restricciones primera, segunda y tercera, respectivamente, junto con las restricciones,
x30,x40 yx50. De manera que el problema (P) escrito en forma estndar sera:
-
8/11/2019 Programacion Lineal Jfa
42/91
Problema escrito en forma estndar, con todo el lado derecho en positivo.
( )
=+
=++=++
+=
0,,,,
32
21283
asujeto
2Maximizar
P
54321
51
421
321
21
xxxxx
xx
xxxxxx
xxz
Representacin grfica del problema:
A continuacin enunciamos, sin demostracin, dos resultados esenciales paradesarrollar el mtodo simplex.
Resultado_1: Dado un problema de programacin lineal, con regin factible no vaca,la coleccin de puntos vrtice de la regin factible se corresponde con la coleccin de
soluciones bsicas factibles del problema cuando ste se escribe en forma estndar.
Resultado_2: Si existe una solucin ptima del problema, entonces tambin existe unvrtice ptimo es decir, una solucin bsica factible ptima.
Aunque no demostremos los resultados podemos comprobarlos en nuestro ejemplo, a lavez que veremos cmo se realiza la transicin de solucin grfica a solucin algebraica.
Lo primero que se observa en el ejemplo es que nuestro problema tiene infinitassoluciones factibles, todos los puntos de la regin sombreada. Esto tambin quedareflejado en el mtodo algebraico, pues las soluciones factibles son todas las soluciones
-
8/11/2019 Programacion Lineal Jfa
43/91
del sistema de ecuaciones,
=+
=++
=++
32
2
1283
51
421
321
xx
xxx
xxx
, con tres ecuaciones y cinco
variables y restringido a que todas las variables tomen valores no negativos. Al haber
ms incgnitas que ecuaciones habr infinitas soluciones, de cuales tambin habrinfinitas en las que todas las incgnitas tomen valores no negativos. El mtodo grficoidentifica los puntos factibles de vrtice de la regin factible. Estos son candidatos asolucin ptima y hay un nmero finito de ellos. Por su parte, el mtodo algebraicodetermina las soluciones bsicas factibles del sistema de ecuaciones y, como sabemos,el nmero de soluciones bsicas de un sistema de ecuaciones es finito, de manera que elnmero de candidatos (soluciones bsicas factibles) a ser solucin ptima es finito. Elmtodo grfico utiliza las curvas de nivel de la funcin objetivo para determinar elvrtice ptimo. En el mtodo algebraico se utiliza la funcin objetivo para seleccionar ala solucin bsica factible ptima, entre todas las candidatas.
Vamos a comprobar en nuestro ejemplo como se corresponden los vrtices de la reginfactible con las soluciones bsicas factibles del sistema de ecuaciones.
El sistema de ecuaciones del problema (P) en forma estndar es el siguiente:
=+
=++
=++
32
2
1283
51
421
321
xx
xxx
xxx
Como el sistema tiene 3 ecuaciones y cinco incgnitas para buscar soluciones bsicasdel mismo tenemos que seleccionar parejas de variables e igualarlas a cero y ver si los
sistemas que quedan tienen solucin nica. Cuando tengamos una solucin bsica sitodos sus valores son no negativos tambin ser factible y entonces tendremos unasolucin bsica factible, es decir, un vrtice.
Veamos, si tomamos la pareja de variables {x1,x2} y las igualamos a cero,x1= x2= 0,entonces el sistema quedara:
=
=
=
3
2
12
5
4
3
x
x
x
Que obviamente tiene solucin nica. Luego ( ) ( )3,2,12,0,0,,,, 54321 =xxxxx es una
solucin bsica del sistema, como adems todos sus valores son no negativos, es unasolucin bsica factible del problema (P). Observa que esta solucin se correspondecon el vrtice Ade la regin factible.
Tomemos ahora la pareja, {x1, x3}, e igualemos ambas variables a cero, x1 = x3 = 0,entonces el sistema quedara,
=
=+
=
3
2
128
5
42
2
x
xx
x
Que tiene solucin nica, 3,2
1,2
3542 === xxx .
-
8/11/2019 Programacion Lineal Jfa
44/91
Luego ( )
= 3,
2
1,0,
2
3,0,,,, 54321 xxxxx es una solucin bsica del sistema, como
adems todos sus valores son no negativos, es una solucin bsica factible del problema(P). Observa que esta solucin se corresponde con el vrtice Ede la regin factible.
Punto de corte de las rectas 01=x y 1283 21 =+ xx , pudindose esta ltimaidentificar con la expresin 03=x .
En efecto, la forma de pasar del problema (P) a su equivalente en forma estndar (P) hasido utilizar las siguientes equivalencias:
=+++
0
12831283
3
32121
x
xxxxx
=+++
0
22
4
42121
x
xxxxx
=+ 0 3232 5
511
xxxx
Lo que hace que sean equivalentes:01283 321 ==+ xxx
02 421 ==+ xxx
032 51 == xx
De manera que cada una de las rectas que delimitan la regin factible del problema (P)se identifica con una expresin del tipoxi= 0 , i= 1,2,3,4,5. Tal como se puede ver enel dibujo de la regin factible.
Si seguimos seleccionando parejas de variables y tomamos la pareja, {x1, x4}, eigualamos ambas variables a cero,x1=x4= 0, entonces el sistema quedara,
=
=
=+
3
2
128
5
2
32
x
x
xx
Que tiene solucin nica, 3,4,2 532 === xxx .
Luego ( ) ( )3,0,4,2,0,,,, 54321 =xxxxx es una solucin bsica del sistema pero como
una de las variables toma un valor negativo, no es una solucin factible del problema(P). Es decir, esta solucin no es una solucin bsica factible del problema y, por lotanto, segn el resultado_1, esta solucin no se corresponde con ningn vrtice de laregin factible. Observa que esta solucin se corresponde con el punto i, de coordenadas
(0,2), en el plano (x1,x2), donde se cortan las rectas 01=x y 221 =+xx (es decir,04=x ).
Si ahora seleccionamos la pareja la pareja, {x1,x5}, e igualamos ambas variables a cero,x1=x5= 0, entonces el sistema quedara,
-
8/11/2019 Programacion Lineal Jfa
45/91
=
=+
=+
30
2
128
42
32
xx
xx
Sistema incompatible. Esto se puede apreciar en el dibujo, pues las rectas 01=x y32 1=x (es decir, 05=x ) son paralelas y por lo tanto no se cortan en ningn punto del
plano (x1, x2). Luego no hay solucin bsica asociada a tomar la pareja de variables{x1,x5}, como candidata a ser variables no bsicas del sistema.
Sigamos con nuestra seleccin de parejas:
Sea la pareja, {x2, x3}, e igualamos ambas variables a cero, x2 = x3 = 0, entonces elsistema quedara,
=+
=+=
32
2123
51
41
1
xx
xxx
Que tiene solucin nica, 5,2,4 541 === xxx .
Luego ( ) ( )5,2,0,0,4,,,, 54321 =xxxxx es una solucin bsica del sistema pero noes una solucin factible del problema (P), pues hay variables que son negativas. Esdecir, esta solucin no es una solucin bsica factible del problema y, por lo tanto, no secorresponde con ningn vrtice de la regin factible. Observa que esta solucin secorresponde con el punto g, de coordenadas (4,0), en el plano (x1,x2), donde se cortan las
rectas 02 =x y 1283 21 =+ xx (es decir, 03=x ).
Sea la pareja, {x2, x4}, e igualamos ambas variables a cero, x2 = x4 = 0, entonces elsistema quedara,
=+
=
=+
32
2
123
51
1
31
xx
x
xx
Que tiene solucin nica, 1,6,2 531 === xxx .Luego ( ) ( )1,0,6,0,2,,,, 54321 =xxxxx es una solucin bsica del sistema pero no esuna solucin factible del problema (P), pues hay variables que son negativas. Es decir,esta solucin no es una solucin bsica factible del problema y, por lo tanto, no secorresponde con ningn vrtice de la regin factible. Observa que esta solucin secorresponde con el punto f, de coordenadas (2,0), en el plano (x1,x2), donde se cortan las
rectas 02 =x y 221 =+xx (es decir, 04=x ).
Sea la pareja, {x2, x5}, e igualamos ambas variables a cero, x2 = x5 = 0, entonces el
sistema quedara,
-
8/11/2019 Programacion Lineal Jfa
46/91
=
=+
=+
32
2
123
1
41
31
x
xx
xx
Que tiene solucin nica, 21,215,23 431 === xxx .
Luego ( )
= 0,2
1,
2
15,0,
2
3,,,, 54321 xxxxx es una solucin bsica del sistema, como
adems todos sus valores son no negativos, es una solucin bsica factible del problema(P). Observa que esta solucin se corresponde con el vrtice Bde la regin factible, de
coordenadas
0,
2
3 , en el plano (x1,x2), donde se cortan las rectas 02=x y 32 1=x (es
decir, 05=x ).
Sea la pareja, {x3, x4}, e igualamos ambas variables a cero, x3 = x4 = 0, entonces elsistema quedara,
=+
=+
=+
32
2
1283
51
21
21
xx
xx
xx
Que tiene solucin nica,5
7,
5
6,
5
4521 === xxx .
Luego ( ) = 57,0,0,56,54,,,,54321 xxxxx es una solucin bsica del sistema, como
adems todos sus valores son no negativos, es una solucin bsica factible del problema(P). Observa que esta solucin se corresponde con el vrtice Dde la regin factible, de
coordenadas
5
6,
5
4 , en el plano (x1,x2), donde se cortan las rectas 1283 21 =+ xx y
221 =+xx (es decir, 03=x y 04=x ).
Sea la pareja, {x3, x5}, e igualamos ambas variables a cero, x3 = x5 = 0, entonces el
sistema quedara,
=
=++
=+
32
2
1283
1
421
21
x
xxx
xx
Que tiene solucin nica,16
7,
16
15,
2
3421
=== xxx .
Luego ( )
= 0,16
7,0,
16
15,
2
3,,,, 54321 xxxxx es una solucin bsica del sistema, pero
como una de las variables toma un valor negativo, no es una solucin factible delproblema (P). Es decir, esta solucin no es una solucin bsica factible del problema y,
-
8/11/2019 Programacion Lineal Jfa
47/91
por lo tanto, no se corresponde con ningn vrtice de la regin factible. Observa que
esta solucin se corresponde con el punto h, de coordenadas
16
15,
2
3 , en el plano (x1,x2),
donde se cortan las rectas 1283 21 =+ xx y 32 1=x (es decir, 03=x y 05=x ).
Sea la ltima pareja posible, {x4, x5}, e igualamos ambas variables a cero, x4=x5= 0,entonces el sistema quedara,
=
=+
=++
32
2
1283
1
21
321
x
xx
xxx
Que tiene solucin nica,2
7,
2
1,
2
3321 === xxx .
Luego ( )
= 0,0,
27,
21,
23,,,, 54321 xxxxx es una solucin bsica del sistema, como
adems todos sus valores son no negativos, es una solucin bsica factible del problema(P). Observa que esta solucin se corresponde con el vrtice Cde la regin factible, de
coordenadas
2
1,
2
3 , en el plano (x1,x2), donde se cortan las rectas 221 =+xx y
32 1=x (es decir, 04=x y 05=x ).
Luego acabamos de comprobar que se cumple el resultado_1 en nuestro problema de
programacin lineal.
Ahora, segn el resultado_2 y puesto que conocemos todas las soluciones bsicasfactibles del problema, los vrtices A, B, C, D y E, se podra pensar en evaluar el valorde la funcin objetivo en cada uno de estos puntos y seleccionar el que tenga el mximovalor objetivo. Pero esto no es adecuado por diversas razones. En primer lugar, en un
problema general de programacin lineal que al escribirse en forma estndar tuviera mecuaciones y nvariables de decisin, m< n, el nmero de soluciones bsicas factibles
est acotado por el nmero combinatorio
m
n , pero este nmero es grande aun para
valores moderados de m y n. En segundo lugar, este proceder no detectara que lasolucin del problema fuese valor objetivo no acotado, lo que podra ocurrir si la reginfactible es no acotada. Por ltimo, si la regin factible fuera vaca y utilizsemos estemtodo de evaluar cada solucin bsica factible, acabaramos detectando queefectivamente la regin factible es vaca, pero slo despus de que hubisemosfracasado en obtener una solucin bsica factible en todas las posibles selecciones de
m
n columnas de la matriz del sistema para formar una base, bien por no ser tales
columnas linealmente independientes, bien por, aun siendo independientes, que algunavariable bsica tomase un valor negativo.
-
8/11/2019 Programacion Lineal Jfa
48/91
El mtodo simplex est diseado para moverse desde un vrtice a otro, mejorando cadavez (o al menos, no empeorando) el valor objetivo. Tambin permite descubrir si laregin factible es vaca o si la solucin del problema es de valor objetivo no acotado. Enla prctica, el mtodo suele recorrer slo una pequea parte de los vrtices de la reginfactible.
Para aplicar el mtodo es necesario conocer una solucin bsica factible (vrtice) delproblema. Si observamos nuestro problema,
( )
=+
=++
=++
+=
0,,,,
32
2
1283
asujeto
2Maximizar
P
54321
51
421
321
21
xxxxx
xx
xxx
xxx
xxz
vemos que ya disponemos de una tal solucin, basta con tomar a las variables deholgura,x3,x4yx5como variables bsicas del sistema de ecuaciones. Entonces, al dar elvalor cero a las variables no bsicas, x1 = x2 = 0, encontramos la solucin bsicafactible,
( ) ( )3,2,21,0,0,,,, 54321 =xxxxx .siendo el valor de la funcin objetivo en este punto igual a cero,
00022 21 =+=+= xxz
Ahora bien, nosotros ya sabemos movernos desde una solucin bsica a otra solucinbsica de un sistema de ecuaciones, para ello lo que hacamos era escribir el sistema en
forma de una tabla, del siguiente modo,
Variablesbsicas x1 x2 x3 x4 x5 l. d.
x3 3 8 1 0 0 12x4 1 1 0 1 0 2x5 2 0 0 0 1 3
Pasamos de una solucin bsica a otra solucin bsica mediante una operacin depivoteo sobre cualquier entrada distinta de cero (pivote), que no est en la identidad
bajo las variables bsicas. Al hacer esto, una variable, no bsica, entraba en la base yuna variable bsica sala de la base. Pues bien, el mtodo simplex elige el pivoteseleccionando en primer lugar a la variable de entrada y despus a la variable de salida.As, el mtodo empieza por seleccionar la variable de entrada entre las variables no
bsicas que al aumentar su valor desde cero, que es el valor que tienen actualmente lasvariables no bsicas en el vrtice en el que nos encontramos, aumente (pues queremosmaximizar) el valor de la funcin objetivo. Como la funcin objetivo es, 212 xxz += ,vemos que cualquier aumento de valor, tanto en la variable no bsica x1 como en lavariable no bsica x2, provocar un aumento en el valor de la funcin objetivo. Dehecho, por cada unidad que aumentemos la variable x1 la funcin objetivo mejora(aumenta) 2 unidades, mientras que por cada unidad que lo hagamos en la variablex2, el
aumento ser de 1 unidad. Por lo tanto, cualquiera de las dos variables no bsicas sepuede seleccionar como variable de entrada. Seleccionaremos como variable de entrada
-
8/11/2019 Programacion Lineal Jfa
49/91
a la variablex1, que proporciona mejor aumento de la funcin objetivo, por cada unidadde aumento en la variable. Una vez que hemos seleccionado la variable de entrada,x1, elmtodo consiste en ir dando valores positivos, desde cero en adelante, a la variable deentrada, mientras el resto de variables no bsicas permanecen iguales a cero. Nuestramotivacin es seguir aumentando el valor de la variable de entrada tanto como
podamos. Ahora bien, si vamos aumentando el valor de la variable de entrada x1,mientras mantenemos en cero el valor de las restantes variables no bsicas, en este caso,x2= 0, suceder lo siguiente: Si en el sistema,
=+
=++
=++
32
2
1283
51
421
321
xx
xxx
xxx
dejamosx2= 0 mientras aumentamos el valor dex1, desde cero, obtendramos,
1
5
4
3
15
14
13
51
41
31
2
1
3
3
2
12
23
2
312
32
2
123
x
x
x
x
xx
xx
xx
xx
xx
xx
=
=
=
=
=+
=+
=+
de manera que las coordenadas, ( )54321 ,,,, xxxxx , de los puntos por los que nos
estaramos movindonos seran: x1 el valor positivo arbitrario que le estuviramosdando,x2= 0 y el resto de coordenadas,
1
5
4
3
2
1
3
3
2
12
x
x
x
x
=
Esta ltima expresin, nos sirve de gua para saber hasta dnde podemos seguiraumentando el valor de x1. Por cada unidad que demos a la variable x1, la variable x3
disminuye 3 unidades, la variable x4disminuye 1 unidad y la variable x5disminuye 2unidades. Por lo tanto, podremos aumentar el valor de x1 hasta que se haga cero la
primera de las tres variablesx3,x4o x5. Pues si siguiramos aumentando el valor de x1,la primera en hacerse cero tomara un valor negativo y ya el punto de coordenadas( )54321 ,,,, xxxxx no sera una solucin factible del problema.
Como, 13 312 xx = , 3x se hace cero s, y slo s, 312
3120 11 == xx . De igual
forma 4x se hace cero s, y slo s, 1
2220 11 === xx y por ltimo, 5x se hace
cero s, y slo s,2
3230 11 == xx .
de manera que el mayor valor que puede tomar la variable x1, para no salirnos de laregin factible es:
2
3
2
3,
1
2,
3
12min =
Siendo la variable de salida, la variable bsica donde se alcanza este mnimo, es decir, lavariable bsicax5. Si hacemos la interseccin de la columna que hay en la tabla bajo lavariable no bsica de entrada, x1, y la fila de la tabla asociada a la variable bsica de
salidax5, encontramos el elemento sobre el que pivotaremos para encontrar la siguientesolucin bsica factible del problema,
-
8/11/2019 Programacion Lineal Jfa
50/91
Hacemos, pues, el pivoteo y, en la siguiente tabla, obtenemos una nueva solucin bsica
factible, ( )
= 0,2
1,
2
15,0,
2
3,,,, 54321 xxxxx
Variablesbsicas x1 x2 x3 x4 x5 l. d.
x3 3 8 1 0 0 12x4 1 1 0 1 0 2x5 2 0 0 0 1 3x3 0 8 1 0 3/2 15/2x4 0 1 0 1 1/2 1/2x1 1 0 0 0 1/2 3/2
siendo el valor de la funcin objetivo en esta nueva solucin bsica factible igual a 3,
302322 21 =+=+= xxz
Ahora podemos escribir el sistema bsico, equivalente al original, asociado a estasegunda tabla,
( )
=+
=+
=+
23
21
2
1
2
1
2
15
2
38
*
51
542
532
xx
xxx
xxx
Donde, como podemos ver, son variables bsicas las variables {x3,x4,x1} y no bsicaslas variables {x2,x5}.
Si queremos proceder como hicimos en la solucin bsica factible anterior deberamostener expresada a la funcin objetivo slo en trminos de las variables no bsicascorrespondientes a esta nueva solucin bsica factible, para as poder decidir fcilmentequien es la variable de entrada. Pero esto lo podemos conseguir haciendo uso delsistema (*), pues de l podemos despajar las variables bsicas en funcin de las no
bsicas, en efecto,
-
8/11/2019 Programacion Lineal Jfa
51/91
( )
=
+=
+=
=+
=+
=+
51
524
523
51
542
532
21
23
2
1
2
12
38
2
15
23
21
2
1
2
1
2
15
2
38
*
xx
xxx
xxx
xx
xxx
xxx
d