Unmsm fisi - programación lineal - io1 cl03

52
Universidad Nacional Mayor de San Marcos Facultad de Ingeniería de Sistemas e Informática Investigación de Operaciones I ó Programación Lineal Docente : Lic. Gabriel Solari Carbajal

Transcript of Unmsm fisi - programación lineal - io1 cl03

Universidad Nacional Mayor de San MarcosFacultad de Ingeniería de Sistemas e Informáticag

Investigación de Operaciones I

óProgramación Lineal

Docente : Lic. Gabriel Solari Carbajal

Programación Lineal

INTRODUCCION

Programación Lineal

INTRODUCCION.-Es considerado uno de los avances científicos másimportante de mediados del siglo XX S impacto haimportante de mediados del siglo XX. Su impacto hasido extraordinario.

L ió li l (PL) h i tLa programación lineal (PL) es una herramienta pararesolver problemas de optimización utilizando modelosmatemáticos donde las restricciones y función objetivomatemáticos donde las restricciones y función objetivoson funciones lineales.

Los problemas que se ajustan al modelo de la PL seLos problemas que se ajustan al modelo de la PL seconocen como problemas de programación lineal(PPL). La PL es una técnica poderosa para resolver

2

( ) p pPPL.

Programación Lineal

DEFINICION

Programación Lineal

DEFINICION.-La PL es una técnica que consiste en optimizar(ma imi ar o minimi ar) na f nción lineal llamada(maximizar o minimizar) una función lineal llamadafunción objetivo.

E tié d ti i l bú d dEntiéndase por optimizar como la búsqueda de unasolución (un valor máximo o mínimo) dentro de unaregión factible (conjunto de soluciones) delimitada porregión factible (conjunto de soluciones) delimitada porun conjunto de restricciones también lineales.

3

Programación Lineal

RESTRICCIONES

Programación Lineal

RESTRICCIONES.-1) Son funciones lineales de la forma:

inin22i11i b),,(xaxaxa ≥=≤+++ L

por ejemplo:por ejemplo:800x48x40 21 ≤+

2) Conforman el conjunto de soluciones factibles.

4

Programación Lineal

FUNCION OBJETIVO

Programación Lineal

FUNCION OBJETIVO.-1) Es una función lineal de la forma:

por ejemplo:nn2211 xcxcxcZOptimizar +++= L

por ejemplo:

21 x480x400ZMax +=

2) Permite localizar en el conjunto de solucionesfactibles, la solución óptima.

5

Programación Lineal

DEFINICION

Programación Lineal

DEFINICION.-

SOLUCIONREGION

FACTIBLE

SOLUCIONOPTIMA

FACTIBLE

6

Programación Lineal

PRINCIPIOS BÁSICOS DE LA PL

Programación Lineal

PRINCIPIOS BÁSICOS DE LA PL.-1) Proporcionalidad.-

Cada variable de decisión participa en formaproporcional sobre la función objetivo y las

t i irestricciones.a) Si un producto A ocupa 3 m3 de espacio de

almacenamiento entonces x productos ocupanalmacenamiento, entonces x productos ocupan3x m3. (Proporcionalidad).

7

Programación Lineal

PRINCIPIOS BÁSICOS DE LA PL

Programación Lineal

b) Si un producto A ocupa 3 m3 de espacio dealmacenamiento entonces prod ctos oc pan

PRINCIPIOS BÁSICOS DE LA PL.-

almacenamiento, entonces x productos ocupan3x m3, pero para cada 10 productosalmacenados se debe dejar un espacio de 0.5almacenados se debe dejar un espacio de 0.5m. (No hay proporcionalidad).

8

Programación Lineal

PRINCIPIOS BÁSICOS DE LA PL

Programación Lineal

2) Aditividad.-PRINCIPIOS BÁSICOS DE LA PL.-

Las variables de decisión en forma conjunta,participan aditivamente sobre la función objetivo yl t i ilas restricciones.a) Si un producto A ocupa 3 m3 de espacio de

almacenamiento y un producto B ocupa 5 m3almacenamiento y un producto B ocupa 5 m3,entonces x productos de A y y productos de Bocupan 3x + 5y m3. (Aditividad).p y ( )

9

Programación Lineal

PRINCIPIOS BÁSICOS DE LA PL

Programación Lineal

b) La combinación de 3 m3 de un producto A y 5 m3

de n prod cto B reaccionan q ímicamente

PRINCIPIOS BÁSICOS DE LA PL.-

de un producto B reaccionan químicamenteobteniéndose 4 m3 de un producto C. (No esaditivo)aditivo).

10

Programación Lineal

PRINCIPIOS BÁSICOS DE LA PL

Programación Lineal

3) Divisibilidad.-PRINCIPIOS BÁSICOS DE LA PL.-

Los valores de las variables de decisión puedendividirse en cualquier fracción tomando cualquier

l l tivalor real no negativo.a) X = cantidad de galones a producir de gasolina.

(Valor real ≥ 0) (Divisibilidad)(Valor real ≥ 0). (Divisibilidad).

11

Programación Lineal

PRINCIPIOS BÁSICOS DE LA PL

Programación Lineal

b) Y = número de camiones que se utilizan paratransportar gasolina (Programación entera) (La

PRINCIPIOS BÁSICOS DE LA PL.-

transportar gasolina. (Programación entera). (Lavariable no es divisible).

12

Programación Lineal

PRINCIPIOS BÁSICOS DE LA PL

Programación Lineal

4) Certidumbre.-PRINCIPIOS BÁSICOS DE LA PL.-

Los valores de los parámetros del modelo sonconstantes conocidas. Los parámetros permanecen

t l l d lcomo tal en el modelo.a) El precio unitario de un producto es c u.m. El

valor de c es constante para este modelovalor de c es constante para este modelo.(Certidumbre).

13

Programación Lineal

PRINCIPIOS BÁSICOS DE LA PL

Programación Lineal

b) El precio unitario de un producto no es un valorconocido ni predecible (Condición de

PRINCIPIOS BÁSICOS DE LA PL.-

conocido ni predecible. (Condición deincertidumbre o riesgo).

14

Programación Lineal

REPRESENTACIÓN MATEMÁTICA DE UN P P L

Programación Lineal

REPRESENTACIÓN MATEMÁTICA DE UN P.P.L..-1) Representación algebraica desarrollada.-

nn2211 xcxcxcZOptimizar +++= L

sujeto asujeto a

1nn1212111 b),,(xaxaxa ≥=≤+++ L

M2nn2222121 b),,(xaxaxa ≥=≤+++ L

mnmn22m11m b),,(xaxaxa ≥=≤+++ LM

15i0xi ∀≥

Programación Lineal

REPRESENTACIÓN MATEMÁTICA DE UN P P L

Programación Lineal

REPRESENTACIÓN MATEMÁTICA DE UN P.P.L..-2) Representación algebraica compacta.-

n

∑=

=n

1iiixcZOptimizar

sujeto asujeto a

j

m n

iji b),,(xa ≥=≤∑∑ j1j 1i

iji ),,(∑∑= =

i0xi ∀≥ 0i

16

Programación Lineal

REPRESENTACIÓN MATEMÁTICA DE UN P P L

Programación Lineal

REPRESENTACIÓN MATEMÁTICA DE UN P.P.L..-3) Representación matricial desarrollada.-

[ ] ⎥⎤

⎢⎡ 1xx

[ ]⎥⎥⎥

⎦⎢⎢⎢

=

n

2n21

x

xcccZOptimizarM

L

⎦⎣ nx

17

Programación Lineal

REPRESENTACIÓN MATEMÁTICA DE UN P P L

Programación Lineal

REPRESENTACIÓN MATEMÁTICA DE UN P.P.L..-sujeto a

⎥⎥⎤

⎢⎢⎡

≥≤⎥⎥⎤

⎢⎢⎡

⎥⎥⎤

⎢⎢⎡

2

1

2

1

n22221

n11211

bb

)(xx

aaaaaa

LL

⎥⎥

⎦⎢⎢

≥=≤⎥⎥

⎦⎢⎢

⎣⎥⎥

⎦⎢⎢

⎣ m

2

n

2

mn2m1m

n22221

b

),,(

xaaaMM

LMMM

⎦⎣

⎥⎤

⎢⎡

⎥⎤

⎢⎡ 0x1

⎥⎥⎥

⎦⎢⎢⎢

≥⎥⎥⎥

⎦⎢⎢⎢

⎣ 0

0x2MM

18

⎥⎦⎢⎣⎥⎦

⎢⎣ 0xn

Programación Lineal

REPRESENTACIÓN MATEMÁTICA DE UN P P L

Programación Lineal

REPRESENTACIÓN MATEMÁTICA DE UN P.P.L..-4) Representación matricial compacta.-

XcZOptimizar =sujeto asujeto a

b),,(XA ≥=≤

0X ≥

19

Programación Lineal

FORMAS DE UN P P L

Programación Lineal

FORMAS DE UN P.P.L..-1) Forma canónica de maximización.-

XcZMax =sujeto asujeto a

bXA ≤

0X ≥

20

Programación Lineal

FORMAS DE UN P P L

Programación Lineal

FORMAS DE UN P.P.L..-2) Forma estándar de maximización.-

XcZMax =sujeto asujeto a

bXA =

0X ≥

21

Programación Lineal

FORMAS DE UN P P L

Programación Lineal

FORMAS DE UN P.P.L..-3) Forma canónica de minimización.-

XcZMin =sujeto asujeto a

bXA ≤

0X ≥

22

Programación Lineal

FORMAS DE UN P P L

Programación Lineal

FORMAS DE UN P.P.L..-4) Forma estándar de minimización.-

XcZMin =sujeto asujeto a

bXA =

0X ≥

23

Programación Lineal

REGLAS DE EQUIVALENCIA

Programación Lineal

REGLAS DE EQUIVALENCIA.-Regla 1.-

a) Max Z = cX es equivalente a Min -Z = -cX.

ejemplo xx3x2ZMax +−=ejemplo 321 xx3x2ZMax +=

321 xx3x2ZMin −+−=−es equivalente a

b) Min Z = cX es equivalente a Max -Z = -cX.

iejemplo

es equivalente a321 x6x5x4ZMin −+=

321 x6x5x4ZMax +−−=−24

q 321

Programación Lineal

REGLAS DE EQUIVALENCIA

Programación Lineal

REGLAS DE EQUIVALENCIA.-Regla 2.-

a) La restricción j-ésima de la forma ∑cjixi ≤ bj esequivalente a la restricción -∑cjixi ≥ -bj.

ejemploes equivalente a

55x3x6x4 321 ≤−+55x3x6x4 −≥+−−es equivalente a

b) La restricción j-ésima de la forma ∑cjixi ≥ bj esequivalente a la restricción -∑cjixi ≤ -bj

55x3x6x4 321 ≥+

equivalente a la restricción ∑cjixi ≤ -bj.

ejemplo 31x7x2x3 321 ≥+−

25es equivalente a 31x7x2x3 321 −≤−+−

Programación Lineal

REGLAS DE EQUIVALENCIA

Programación Lineal

REGLAS DE EQUIVALENCIA.-Regla 3.-

La restricción j-ésima de la forma ∑cjixi = bj puededescomponerse como la intersección de dosrestricciones ∑cjixi ≤ bj y ∑cjixi ≥ bj.

ejemplo65119

j p

es equivalente a

6x5x11x9 321 =+−

q

6x5x11x9 321 ≤+−

6x5x11x9 ≥+26

6x5x11x9 321 ≥+−

Programación Lineal

REGLAS DE EQUIVALENCIA

Programación Lineal

REGLAS DE EQUIVALENCIA.-Regla 4.-

a) Si se tiene m restricciones de la forma AX ≤ b,pueden convertirse en igualdad mediante la adiciónde un vector Y, llamado vector de variables deholgura. El vector Y tiene m componentes nonegativasnegativas.ejemplo 15x5x6 21 ≤+

19x7x3 ≤se convierte a

19x7x3 21 ≤−

15xx5x6 321 =++27

321

19xx7x3 421 =+−

Programación Lineal

REGLAS DE EQUIVALENCIA

Programación Lineal

REGLAS DE EQUIVALENCIA.-b) Si se tiene m restricciones de la forma AX ≥ b,

p eden con ertirse en ig aldad mediante la resta depueden convertirse en igualdad mediante la resta deun vector Y’, llamado vector de variables de exceso.El vector Y’ tiene m componentes no negativasEl vector Y tiene m componentes no negativas.

ejemplo35x2x7 21 ≥+

se convierte a

21

21x9x8 21 ≥+se convierte a

35xx2x7 321 =−+21xx9x8 421 =−+

28

421

Programación Lineal

REGLAS DE EQUIVALENCIA

Programación Lineal

REGLAS DE EQUIVALENCIA.-Regla 5.-

Una variable no restringida xi, (xi ∈ ⟨-∞, +∞⟩), puedeescribirse como la diferencia de dos variables nonegativas. Sea xi una variable no restringida, luego

kji xxx −=

donde xj ≥ 0 y xk ≥ 0. Se cumple que:Si xi > 0 entonces xj > xki j k

Si xi = 0 entonces xj = xk

Si 0 t29

Si xi < 0 entonces xj < xk

Programación LinealProgramación Lineal

FORMULACION DE PROBLEMAS DEPROBLEMAS DE PROGRAMACION

LINEALLINEAL

30

Programación Lineal

PROBLEMA 01

Programación Lineal

PROBLEMA 01.-Se tiene que abastecer urgentemente una zonadeclarada en emergencia se disponen de dos tipos dedeclarada en emergencia, se disponen de dos tipos deaviones, el A y el B.

C t í ti f t l d b tiblCaracterísticas referente al consumo de combustible,aceite, carga útil y tiempo que demora de ida y vueltaestán en la tabla adjunta igualmente están en ella laestán en la tabla adjunta, igualmente están en ella ladisponibilidad de aceite y combustible de la base,plantear el problema con miras a que se transporte lamáxima carga posible con la gasolina y el aceitedisponible.

31

Programación LinealProgramación Lineal

A B DisponibilidadTIPO DE AVION

A B DisponibilidadGasolina/hora 8 12 800 galonesAceite/hora 0.25 0.2 40 galonesg

Horas de viaje 5 4Carga útil (kg) 400 480

32

Programación Lineal

SOLUCION

Programación Lineal

SOLUCION.-Variables de decisiónA : número de viajes del avión tipo A a la zona en

emergencia.B : número de viajes del avión tipo B a la zona en

emergencia.

33

Programación Lineal

Restricciones

Programación Lineal

Restricción por disponibilidad de gasolina:Restricciones

800B)12()4(A)8()5( ≤+

800B48A40 ≤+

Restricción por disponibilidad de aceite:40B)200()4(A)250()5( 40B)20.0()4(A)25.0()5( ≤+

40B80.0A25.1 ≤+

Restricciones de no negatividad:

0BA ≥34

0B,A ≥

Programación Lineal

Función objetivo

Programación Lineal

B480A400ZMax +=

Función objetivo

B480A400ZMax +

35

Programación Lineal

El programa queda:

Programación Lineal

B480A400ZMax +=

El programa queda:

B480A400ZMax +

sujeto a800B48A40 ≤ 800B48A40 ≤+

40B80.0A25.1 ≤+

0B,A ≥

36

Programación Lineal

PROBLEMA 02

Programación Lineal

PROBLEMA 02.-Se desea averiguar las cantidades de ciertos alimentosq e deben comerse para satisfacer ciertosque deben comerse para satisfacer ciertosrequerimientos nutritivos a un costo mínimo.Supongamos que las consideraciones se limitan aSupongamos que las consideraciones se limitan aleche, carne, huevos y a las vitaminas A, C y D.

Supongamos que el número de miligramos deSupongamos que el número de miligramos devitaminas contenidas en cada unidad de alimentos seda en la tabla siguiente:

37

Programación LinealProgramación Lineal

VITAMINAMínimo

requerido a Galón de

l hLibra de Docena de

h

A 1 1 10 1C 100 10 10 50

qdiario (mg)

leche carne huevos

C 100 10 10 50D 10 100 10 10

Costo en soles 40 44 20

38

Programación Lineal

SOLUCION

Programación Lineal

SOLUCION.-

Variables de decisiónL : cantidad de leche en galonesC : cantidad de carne en librasH : cantidad de huevos por docena

39

Programación Lineal

Restricciones

Programación Lineal

Restricción por requerimiento mínimo de vitamina A:Restricciones

1H10CL ≥++

Restricción por requerimiento mínimo de vitamina C:Restricción por requerimiento mínimo de vitamina C:50H10C10L100 ≥++

Restricción por requerimiento mínimo de vitamina D:10H10C100L10 ≥++

Restricciones de no negatividad:

0HCL ≥40

0H,C,L ≥

Programación Lineal

Función objetivo

Programación Lineal

H20C44L40ZMin ++=

Función objetivo

H20C44L40ZMin ++

41

Programación Lineal

El programa queda:

Programación Lineal

El programa queda:

H20C44L40ZMin ++=

sujeto a

H20C44L40ZMin ++

110C 1H10CL ≥++50H10C10L100 ≥++

0HCL ≥

10H10C100L10 ≥++

0H,C,L ≥

42

Programación Lineal

PROBLEMA 03

Programación Lineal

PROBLEMA 03.-La compañía Mauser, fabricante de fusiles automáticos,ti 3 d t t l l f ttiene 3 departamentos en los cuales se manufacturansus modelos S-1000 y S-2000, las capacidadesmensuales son las siguientes:

Requerimientos unitarios de tiempo (en horas)

mensuales son las siguientes:

de tiempo (en horas)

DepartamentosHoras disponibles en el siguiente mes

Modelo S-2000

Modelo S-1000

Departamento 1 4 2 1,600Departamento 2 2.5 1 1,200

43Departamento 3 4.5 1.5 1,600

Programación Lineal

La utilidad del modelo S 1000 es de 40 dólares por

Programación Lineal

La utilidad del modelo S-1000 es de 40 dólares porunidad y la del modelo S-2000 es de 10 dólares porunidad; suponiendo que la compañía puede venderunidad; suponiendo que la compañía puede vendercualquier cantidad de estos productos, debido acondiciones favorables de mercado.

Determinar el número de unidades de cada modelo quese debe de fabricar de manera que se maximice lautilidad total.

44

Programación Lineal

PROBLEMA 04

Programación Lineal

Un barco tiene tres bodegas: en la proa, en el centro yen la popa Los límites de capacidad son:

PROBLEMA 04.-

en la popa. Los límites de capacidad son:

C id dCapacidadPeso Volumen(Ton) (Pi 3)

Bodega(Ton) (Pies3)

Proa 2,000 100,000Centro 3 000 135 000Centro 3,000 135,000Popa 1,500 30,000

45

Programación Lineal

Se ofrecen los siguientes cargamentos y los dueños de

Programación Lineal

Se ofrecen los siguientes cargamentos y los dueños delos barcos pueden aceptar el total o una porcióncualquiera de cada artículo.cualquiera de cada artículo.

Cantidad GanaciaPeso Vol/Ton por Ton(Ton) (Pies3) ($)

Artículo( )

A 6,000 60 6B 4,000 50 8C 2,000 25 5

46

Programación Lineal

Para preservar el equilibrio de barco el peso en cada

Programación Lineal

Para preservar el equilibrio de barco, el peso en cadabodega debe ser proporcional a la capacidad entoneladas.toneladas.

¿Cómo debe distribuirse la carga para hacer máxima laganancia?ganancia?

47

Programación Lineal

La siguiente gráfica permite visualizar el problema e

Programación Lineal

La siguiente gráfica permite visualizar el problema eidentificar las variables de decisión.

PROA

A xA1

xA2xA3 PROA

B

A2A3

xB1xB2

CENTRO

B xB2xB3

xC1 x

CC1 xC2

xC3

48POPA

Programación Lineal

SOLUCION

Programación Lineal

SOLUCION.-Variables de decisiónxij : cantidad en toneladas del artículo i que se

transporta en la bodega j.i = A, B y Cj = 1 (Proa), 2 (Centro) y 3 (Popa)

EjemploxC2 : cantidad de toneladas del artículo C que sexC2 : cantidad de toneladas del artículo C que se

transporta en la bodega 2 (Centro)

49

Programación Lineal

Restricciones

Programación Lineal

Restricciones por límite de cantidad de artículos:0006

Restricciones

000,6xxx 3A2A1A ≤++000,4xxx 3B2B1B ≤++ 3B2B1B

000,2xxx 3C2C1C ≤++

Restricciones por límite de capacidad de peso delbarco:

000,2xxx 1C1B1A ≤++ 000,2xxx 1C1B1A ≤++000,3xxx 2C2B2A ≤++5001

50500,1xxx 3C3B3A ≤++

Programación Lineal

Restricciones por límite de capacidad de volumen del

Programación Lineal

Restricciones por límite de capacidad de volumen delbarco:

000,100x25x50x60 1C1B1A ≤++ ,1C1B1A

000,135x25x50x60 2C2B2A ≤++00030255060 ≤++ 000,30x25x50x60 3C3B3A ≤++

Restricción para preservar el equilibrio del barco:

500,1xxx

000,3xxx

000,2xxx 3C3B3A2C2B2A1C1B1A ++

=++

=++

,,,Restricciones de no negatividad:

0≥ i∀ j∀51

0xij ≥ i∀ j∀

Programación Lineal

Función objetivo

Programación Lineal

)xxx(6ZMax +++=

Función objetivo

)(5)xxx(8)xxx(6ZMax

3B2B1B

3A2A1A

++++++=

)xxx(5 3C2C1C ++

52