Documente Academic
Documente Profesional
Documente Cultură
En los siglos XVII y XVIII matemáticos como Newton, Leibniz, Bernouilli y sobre
todo Lagrange, que tanto habían contribuido al desarrollo del cálculo infinitesimal,
se ocuparon de obtener máximos y mínimos condicionados de determinadas
funciones.
Tres años más tarde, G. Stigler plantea otro problema particular conocido con el
nombre de “régimen alimenticio opcional”. En estos años posteriores a la II Guerra
Mundial, en E.E.U.U. se asumió que la eficaz coordinación de todas las energías y
recursos de la nación era un problema de tal complejidad, que su resolución y
simplificación pasaban necesariamente por los modelos de optimización que
resuelve la Programación Lineal.
1
Programación Lineal para la Ingeniería Técnica
Respecto al método del Simplex, señalar que su estudio comenzó en 1951 y fue
desarrollado por Dantzig. Este algoritmo es básico en la resolución de los
problemas de Programación Lineal, fundamentales en economía general, economía
de empresas y planificación, aunque en principio sus aplicaciones fueron militares.
http://www.stanford.edu/group/SOL/dantzig.html
2
Programación Lineal para la Ingeniería Técnica
También los tipos de problemas son muy variados, entre ellos están:
• La distribución y el transporte.
• El almacenaje.
3
Programación Lineal para la Ingeniería Técnica
4
Programación Lineal para la Ingeniería Técnica
2. El resto de las restricciones, del tipo que sean, a las que a veces de les
denomina restricciones verdaderas.
2.1. EJEMPLO
5
Programación Lineal para la Ingeniería Técnica
Solución:
6
Programación Lineal para la Ingeniería Técnica
Cada una de las restricciones lineales [2] y [3] se formula como una
inecuación del tipo “mayor o igual”, ya que representa la cantidad total de
elemento nutritivo M y N, respectivamente, que contiene la ración formada
por x1 toneladas de pienso A, x 2 de B, x3 de C y x 4 de D, y que debe ser al
menos 5500 unidades para M y al menos 8700 unidades para N, es decir,
mayor o igual que 5500 y 8700 unidades respectivamente.
Por último, es obvio que la cantidad (toneladas) que incluye la ración de los
piensos A, B, C y D debe ser no negativa, es decir, mayor o igual que cero,
con lo que quedan justificadas las restricciones de no negatividad [4].
volver a La traducción algebraica que podemos hacer para la formulación del objetivo,
problema
general tratará de optimizar (minimizar o maximizar) la función lineal:
n
f (x1 ,… , xn ) = ∑c x j j
j =1
∑a
j =1
ij x j ≥ bi , i = 1, ..., p
n
∑a
j =1
ij x j = bi , i = p + 1, ..., m
xj ≥ 0, j = 1, ..., q
x j cualquiera j = q + 1, ..., n
Un significado apropiado para cada una de las cantidades que intervienen sería el
siguiente:
7
Programación Lineal para la Ingeniería Técnica
max z = cc xc
s.a.: Ac xc ≥ bc
xc ≥ 0
max z = cd xd
s.a.: Ad xd = bd
xd ≥ 0
max z = ct xt
s.a.: ati xt ≥ bi , i = 1, ..., p
ati xt = bi , i = p + 1, ..., m
xt ≥ 0
8
Programación Lineal para la Ingeniería Técnica
Z = f (X ) = c1 x1 + … + cn xn
a11 x1 + … + a1n xn = b1
volver a
forma éstandar am1 x1 + … + amn xn = bm
En notación matricial:
max Z = CX
s.a.: AX = B
X ≥0
donde:
x1 a11 … a1n b1
C = (c1 , … , cn ), X = , A = , B = , m < n
x a b
n m1 … amn m
X ≥ 0 , denota que sus componentes son todas mayor o igual que cero.
a1i
Llamaremos Pi = ⇒ A = (P1 , … , Pn ) .
a
mi
Para llegar a la forma estándar realizaremos, en caso de ser necesario, alguna de las
siguientes operaciones:
9
Programación Lineal para la Ingeniería Técnica
Obsérvese que así, el número de variables aumenta en una por cada una a la
que le apliquemos esta transformación. Si no se desea aumentar el número
de variables podemos utilizar otro método: supongamos que x1 no está
restringida en signo, entonces podemos eliminarla utilizando alguna de las
restricciones en la que el coeficiente de x1 sea distinto de cero. Por ejemplo,
si ai1 x1 + … + ain xn = bi es tal que ai1 ≠ 0 , entonces:
1
x1 = (bi − ai 2 xi 2 − … − ain xn )
ai1
n n
∑a x
j =1
ij j = bi ⇔ −∑ aij x j = −bi
j =1
donde ahora − bi ≥ 0 .
10
Programación Lineal para la Ingeniería Técnica
n
n ∑ aij x j ≥ bi
∑ aij x j = bi ⇔ j =n1
j =1 − ∑ aij x j ≥ −bi
j =1
n n
∑a
j =1
ij x j ≥ bi ⇔ ∑a
j =1
ij x j − yi = bi
n n
∑a
j =1
ij x j ≤ bi ⇔ ∑a
j =1
ij x j + yi = bi
min Z = CX + 0Y
s.a.: AX − IY = B
X ≥ 0, Y ≥ 0
1 0 … 0
y1
0 1 … 0
donde: 0 = (0, … ,0 ), Y = , I =
y
m 0 … 0 1
X
C * = (C ,0) , X * = , A* = (A,− I ) ⇒ max Z * = C* X *
Y
A* X * = B
X* ≥ 0
11
Programación Lineal para la Ingeniería Técnica
12
Programación Lineal para la Ingeniería Técnica
Definición:
n
concepto Un conjunto C de IR es convexo si para dos puntos cualesquiera del conjunto, el
relacionado segmento que los une también está contenido en el conjunto. Esto es,
con convexo
∀v1 , v2 ∈ C ⇒ αv1 + β v2 ∈ C , con α, β ≥ 0 y α + β = 1 .
CONVEXOS
NO CONVEXOS
Definición:
13
Programación Lineal para la Ingeniería Técnica
Definición:
Definición:
Definición:
max Z = CX
s.a.: AX = B
X ≥0
Teorema:
14
Programación Lineal para la Ingeniería Técnica
Demostración:
Supongamos que F ≠ ∅ .
Sean X 1 , X 2 ∈ F , y sean α, β cualquiera números reales tales que α ≥ 0 ,
β ≥ 0 , α + β = 1 . Entonces, por hipótesis, se tiene que X 1 ≥ 0 , AX 1 = B ,
X 2 ≥ 0 , AX 2 = B .
( )
Se tiene que αX 1 + β X 2 ≥ 0 y A αX 1 + β X 2 = αAX 1 + β AX 2 = αB + βB = B ;
luego toda combinación lineal convexa de X 1 y X 2 pertenece a F.
La imposibilidad de contener rectas es consecuencia directa de las
restricciones de no negatividad de las variables en el problema.
Demostración:
∑α i ( )
= 1 , α i ≥ 0 , i = 1, ..., k. La función objetivo en X 0 es f X 0 = CX 0 ,
i =1
entonces:
k k k
( )
f X 0 = C ∑ αi X i = ∑ α CX i
i
= ∑ α f (X )
i
i
i =1 i =1 i =1
15
Programación Lineal para la Ingeniería Técnica
k
{( ) }
Sea λ = max f X i , i = 1, … , n ⇒ f X 0 ≤ ( ) ∑α λ = λ. i Por tanto, X 0 no es
i =1
( ) ( ) ( )
f αX 1 + β X 2 = αf X 1 + β f X 2 = αλ + βλ = (α + β )λ = λ
Teorema:
vértice de F.
Demostración:
16
Programación Lineal para la Ingeniería Técnica
AX 1 = B ⇒ P1 x11 + … + Pk x1k = B
2 2 2
1 2
( 1 2
)
⇒ x1 − x1 P1 + … + xk − xk Pk = 0 ( )
AX = B ⇒ P1 x1 + … + Pk xk = B
independientes.
Demostración:
k k k
∑ xi Pi + α∑ βi Pi =
i =1 i =1
∑ (x
i =1
+ αβi )Pi = B
i
k k k
∑ xi Pi − α∑ βi Pi = ∑ (xi − αβi )Pi = B
i =1 i =1 i =1
17
Programación Lineal para la Ingeniería Técnica
Como todas las xi > 0 siempre podemos elegir un α > 0 tal que todas las
componentes xi + αβi y xi − αβ i sean estrictamente positivas. Según esto,
X 1 , X 2 ∈ F por el teorema anterior.
X1 + X 2 X1 X 2
Pero = + = X , lo que entra en contradicción con el hecho
2 2 2
de ser X vértice de F, porque si X es punto medio del segmento definido por
X 1 y X 2 en el convexo F, X no puede ser vértice de F.
Concluimos por tanto que P1 , … , Pk son linealmente independientes.
Propiedades:
2. Si existe una solución factible óptima, entonces existe una solución factible
básica óptima.
18
Programación Lineal para la Ingeniería Técnica
Consecuencia:
Para encontrar las soluciones factibles básicas óptimas, bastará con investigar el
valor que toma la función objetivo en los puntos extremos del poliedro convexo
que constituye la región de factibilidad, representada por la intersección de las
restricciones.
Además, si dos de estos extremos son óptimos, también lo será cualquier punto del
segmento o combinación lineal convexa que los une, con lo que tendríamos un
número infinito de soluciones óptimas. Se estaría en esta situación cuando la
función objetivo fuera paralela a una restricción.
19
Programación Lineal para la Ingeniería Técnica
Paso 3: dibujar una de las rectas que pertenece a la familia de rectas paralelas que
representa la función objetivo, f(X) = k. Habitualmente, suele dibujarse f(X) = 0 por
comodidad.
20
Programación Lineal para la Ingeniería Técnica
Paso 5: el punto extremo de F al que corresponde el valor óptimo para la recta que
representa la función objetivo es la solución óptima finita del problema.
Nota: hay que tener en cuenta que pueden presentarse las situaciones estudiadas
en el apartado anterior, cuando existe más de un punto extremo o la región de
factibilidad es no acotada.
Supongamos que se quiere elaborar una ración que satisfaga unas condiciones
Enunciado mínimas de contenidos vitamínicos diarios, por ejemplo 2 mg de vitamina A, 60
mg de B y 40 mg de C. Para ello se van a mezclar dos clases de piensos, P y Q,
cuyo precio por kilogramo es, respectivamente, de 40 y 60 pesetas, y cuyo
contenido en las vitaminas citadas es:
A B C
1 kg de P 1 mg 20 mg 10 mg
1 kg de Q 0.5 mg 20 mg 20 mg
¿Cómo deben mezclarse los piensos para que satisfagan esas necesidades
vitamínicas con el menor gasto posible?.
Solución:
21
Programación Lineal para la Ingeniería Técnica
x + 0.5y ≥ 2 (vitamina A)
20x + 20 y ≥ 60 (vitamina B)
10x + 20 y ≥ 40 (vitamina C)
3
B
2
C
1
0 D
1 2 3 4
10x + 20y = 40
40x + 60y = 0 x + 0.5y = 2 20x + 20y = 60
22
Programación Lineal para la Ingeniería Técnica
Otra opción de resolver este tipo de problemas en dos dimensiones consiste en,
Alternativa
de solución una vez localizados los puntos extremos en el paso 2, sustituir los pasos 3, 4 y 5 del
gráfica método de resolución gráfica por una simple sustitución de los vértices en la
función objetivo para localizar visualmente en cuál se alcanza el óptimo buscado.
En esta segunda opción, hay que tener en cuenta que si la región de factibilidad no
está acotada como en el ejemplo, es necesario seleccionar, junto con los vértices, un
punto en cada una de las restricciones por las que no se cierra la región factible, y
una vez sustituidos en la función objetivo, realizar el límite a lo largo de la
restricción correspondiente. Ilustramos esta operación con el ejemplo que estamos
considerando.
En este caso, los vértices son: A(0,4), B(1,2), C(2,1), D(4,0), y consideramos dos
puntos de la forma E(x,0), F(0,y) que corresponden a las rectas que abren la región
factible. Sustituimos estos seis puntos en la función objetivo a minimizar:
4.3. OBSERVACIONES
Observación 1:
23
Programación Lineal para la Ingeniería Técnica
Observación 2:
Observación 3:
Observemos, por último, que este mismo procedimiento puede seguirse en el caso
de que el problema incluya tres variables, efectuando una representación espacial
3
en IR . Lógicamente, si la dimensión del problema es mayor, la representación
gráfica es imposible.
24
Programación Lineal para la Ingeniería Técnica
Supongamos que queremos resolver el problema lineal sin desarrollar una técnica
específica. Un método de resolución que se podría pensar de forma casi intuitiva
es el siguiente.
max Z = c1 x1 + … + cn xn
s.a.: a11 x1 + … + a1n xn + xnH+1 = b1
a21 x1 + … + a2 n xn + xnH+ 2 = b2
25
Programación Lineal para la Ingeniería Técnica
− 2 1 1 0 0
A = 1 − 2 0 1 0
1 2 0 0 1
− 2 1 1 x1 2 x1 7
1 − 2 0 x2 = 3 ⇒ x2 = 2
1 2 0 x3 11 x 14
3
26
Programación Lineal para la Ingeniería Técnica
5 1, 3, 5 (3, 0, 8, 0, 8) (3, 0, 8, 0, 8) -9
6 1, 4, 5 (-1, 0, 0, 4, 12)
9 2, 4, 5 (0, 2, 0, 7, 7) (0, 2, 0, 7, 7) 4
( )
El valor óptimo para la función objetivo es Z * = f * x1* , x2* =
27
5
, obtenido con los
7 * 24
valores de las variables x1* = , x2 = .
5 5
Ir al bloque 2
27