60 tes is hector

Upload: heissen-leonel-blanco-carrasquel

Post on 18-Jul-2015

54 views

Category:

Documents


0 download

TRANSCRIPT

BIBLIOTECA CIENCIAS EXACTAS Y NATURALEST57.77 H47

15/T747

11111 1111

UNIVERSIDAD DE SONORA

Departamento de Matemticas"EL IIIETODO SIMPLEX REVISADO CONI VARIABLES ACOTADAS Y SU APLICACION EN EL DISEO DE DIETAS PARA CAMARON"

ue, para obtener eLICENCIADO` EN MTEMATial

P resent_an Hctor Alfredo Hernndez Hernndez Ricardo Ruiz Moreno

Hermosillo, Sonora

Febrero de 1991

" EL METODO SIMPLEX REVISADO CON VARIABLES ACOTADAS Y SU APLICACION EN EL DISEO DE DIETAS PARA CAMARON "

Por : Ricardo Ruiz Moreno Hctor Alfredo Hernndez Hernndez

~t'ah= ova ap aprrd vod ormau'nuawypavr pu? o opaaryp airrt, ohadv p euro,uno maxl .ozp-rp ap wacrrp p awro Tratreprivodo vngnfarptrt otro

vad trozpog

7317711 1211/0a ,ly,r

od,optrrn ami anb trf mido ntrortiota ap nurn p vutro-tovoctoildfi

a 1r crturrrui ?ap trapaavrp ' orra:

frattad vavam crupact yr pd vintrnii arra y vatt~n ttin voti inno-roauoa

/tad ~in

w ?mar

opinnnia va

p inpatag

nfirmite croyfin

buz. 71) ry-funiff~r3 ouarro vpin ovparru vairuarza crovravaro

771.101L1 Dd

ap rrivcruraw 07 73

Dun

vtrurunray h vavprd troviroarnt

INDICE

Introducin

1

Captulo I CAMBIOS DE BASE, MATRICES ELEMENTALES SU APLICACION A LA FORMA PRODUCTO DE LA INVERSA Y A LA DESCOMPOSICION LU Seccin 1.1 Bases 1.2 Matrices Elementales 1.3 Forma Producto de la Inversa...., 1.4 Descomposicin LU 1.5 Acciones y Permutaciones 5 6 9 13 17 24

Captulo II SIMPLEX REVISADO FORMA PRODUCTO DE LA INVERSA Y EL SIMPLEX REVISADO CON DESCOMPOSICION LU Seccin 2.1 Simplex Revisado 2.2 Simplex Revisado Forma Producto de la Inversa 2.3 Simplex Revisado con Descomposicin LU 2.4 Comparacin del Nmero de Operaciones 33 33 39 47 59

Captulo III METODO SIMPLEX REVISADO PARA VARIABLES ACOTADAS Seccin 3.1 Solucin Bsica 3.2 Criterio de Eleccin de la Variable que Entra a la Base 3.3 Incremento de X K apartir de su Valor Actual y su Actualizacin 3.4 Decremento de XK desde su Valor Actual UK y su Actualizacin 3.5 Pasos del Mtodo Simplex Revisado con Variables Acotadas 75 73L

64 65

68

69

Captulo IV PROBLEMAS DE DIETAS Y EL CASO DE DIETAS PARA CAMARON Seccin 4.1 Planteamiento del problema 4.2 Planteamiento del problema como un PPL con Variables Acotadas 4.3 Importancia de la Humedad 4.4 Planteamiento del Problema de Dietas para el Camarn y su Solucin 93 84 90 81 82

CONCLUCIONES

108

Apndice A.- TEORIA DE PROGRAMACION LINEAL A.1 Introduccin A.2 Convexidad y Puntos Extremos A.3 Resultados Fundamentales de la PL A.4 Resultados de Soluciones de Sistemas de Ecuaciones Lineales A.5 Mtodo Simplex A.6 Justificacin de los Pasos del Mtodo Simplex A.7 Condiciones de Optimalidad A.8 Propiedades Primal-Dual

110 110 116 119

126 131 13S 140 143

Apndice B.- PRINCIPALES SUBRUTINAS PARA COMPUTADORA B.1 Programa Principal B.2 Subrutina Leer B.3 Subrutina Aplicc B.4 Subrutina Mayor B.5 Subrutina Aplica B.6 Subrutina Menor 8.7 Subrutina Cdelta B.S Subrutina Const B.9 Corrida del Programa Bibliografa

146 146 149 150 151 151 152 154 154 155 157.

INTRODUCCION

El trabajo que se desarrolla en esta tesis, tiene que ver con el anlisis de un modelo matemtico para formular dietas para animales, con el cual se da solucin a un problema especfico. Este problema forma parte de la actividad de un proyecto de formulacin y evaluacin de dietas para camarn, el cual se desarrolla en el Departamento de Matemticas conjuntamente con el Centro de Investigacin Cientfica y Tecnolgica de la Universidad de Sonora (C.I.C.T.U.S.).

El problema de diseo de dietas consiste en determinar las cantidades de cada ingrediente, de tal manera que se cumplan los requerimientos nutricionales y el costo del alimento sea mnimo.

El contenido nutricional de los ingredientes vara con el tiempo, sin embargo, esta variacin es despreciable; por lo cual estos datos se considerarn fijos. En los ingredientes es muy comn que vare su humedad, ya sea por el transcurso del tiempo, las condiciones climatolgicas, etc. Lo que hace necesario tomar las cantidades de los contenidos nutricionales en base seca y en consecuencia los resultados del modelo estarn dados en esta misma base. Como regularmente no se dispone de ingredientes secos, ser necesario hacer la conversin a base hmeda.

1

Por otra parte, dependiendo de como se requiera elaborar el alimento, se manejarn dos opciones para el problema; una contempla que el alimento estando deshidratado, cumpla con los requerimientos y por otra parte, que estando hmedo tambin los cumpla.

Este problema se le puede plantear como un Problema de Programacin Lineal, ms aun, como un Problema de Programacin Lineal con Variables Acotadas, pues tiene idneas para plantearse de esta manera. caractersticas

BIBLIOTECADE CIENCIAS EIY NATU ;:LLSEL SABER 13E MIS HIJOS HAR MI GRANDEZA

Entre los objetivos de este trabajo, est poner a la disposicin versiones revisadas del Mtodo Simplex (Simplex ,,Revisado Forma Producto de la Inversa Y Simplex Revisado con Descomposicin LU). Mtodos que normalmente no se abordan en los cursos de Ingeniera (incluso en la Licenciatura en Matemticas) y que resultan indispensables al atacar Problemas de Programacin Lineal (PPL) de tamao considerable.

De utilizar el Mtodo Simplex Normal en problemas "grandes", es muy probable que los resultados estn bastante alejados de la solucin verdadera; esto es porque en cada iteracin se van acumulando "pequeos" errores que nos llevan a una solucin incorrecta. Tambin se presenta la Tcnica de Variables Acotadas derivada del Mtodo Simplex, que como principal caracterstica, para cierto tipo de problemas disminuye el nmero de restricciones y variables, manejando implcitamente las cotas de estas ltimas.

2

Al combinar la tcnica de variables acotadas con el Mtodo Simplex Revisado, da lugar al algoritmo que nos lleva a la solucin del problema de diseo de dietas de manera eficaz. Para esto se presentan las principales subrutinas, que forman parte del programa en computadora, que trabaja con este algoritmo. Las subrutinas estn dadas en Fortran 77, ya que tradicionalmente este lenguaje es usado por ser uno de los ms precisos en los clculos. Ademd estas subrutinas se pueden utilizar, con sus respectivas modificaciones, para el diseo de otros algoritmos.

Otro de los objetivos es que quienes se interesen en el diseo de dietas para animales y estn familiarizados con la Programacin Lineal, dispongan de este material. Pus se conoce muy poca bibliografa en donde se abordan este tipo de problemas.

Como el mtodo con el cual se pretende dar solucin al problema es "El Metodo Simplex Revisado pra Variables Acotadas con Descomposicin LU ", la teora que se presenta en este trabajo contiene: El Mtodo Simplex, El Mtodo Simplex Revisado (Forma Producto de la Inversa y Descomposicin LU), asi como El Mtodo Simplex Revisado para Variables Acotadas. Esta teora se presenta en el apndice A, en los captulos I, II y III.

3

El contenido de este trabajo es el siguiente: En el capitulo I se presenta el material necesario, para que, conociendo el Mtodo Simplex, se pase a ver sus versiones revisadas. Este consiste de la teora de cambios de base, de la utilizacin de matrices elementales, permutaciones y acciones para tener estabilidad numrica en el algoritmo. El captulo II contiene el Simplex Revisado, as como dos de sus versiones (Simplex Revisado Forma Producto de la Inversa y Simplex Revisado con Descomposicin LU). Adems se hace la comparacin entre el nmero de operaciones para resolver sistemas de ecuaciones lineales (SEL), utilizando la Forma Producto de la Inversa y utilizando Descomposicin LU. En el captulo III se desarrolla El Mtodo Simplex Revisado Para Variables Acotadas, que utilizando Descomposicin LU para resolver los SEL, nos da el mtodo para dar solucin al problema del diseo de dietas. En el captulo IV se presenta el problema de forma general, con las mismas caractersticas que el problema de inters. Se plantea como un PPL con variables acotadas, se resuelve con el Mtodo Simplex Normal (planteado de la forma anterior) con paquetera comercial y tambin se resuelve utilizando un programa que trabaja el Mtodo Simplex Revisado Forma Producto de la Inversa para Variables Acotadas. Se manejan las dos opciones que se tiene para el problema. Por ltimo se da la interpretacin de los resultados obtenidos. Se tiene un apartado para las concluciones, adems se agregan dos apendices: en el primero se da la teoria de programacin lineal y el segundo contiene las subrutinas ya mencionadas.

4

CAPITULO I

CAMBIOS DE BASE, MATRICES ELEMENTALES, SU APLICACION A LA FORMA PRODUCTO DE LA INVERSA Y A LA DESCOMPOSICION LU.

En este captulo presentamos algunos aspectos de la teora de cambios de base, ya que el algoritmo del Mtodo Simplex, es un procedimiento en el que en cada iteracin se genera una nueva base. Adems, estos aspectos nos servirn para abordar el Mtodo Simplex ; Revisado. Como en este mtodo es fundamental resolver sistemas de ecuaciones lineales cuadrados, mostramos como construir matrices elementales que al multiplicar por ellas realizen pivotajes. Esto da pie para que apliquemos mtodos ms eficientes que resuelvan tales sistemas, como son los que utilizan la forma producto de la inversa y la descomposicin LU.

Ahora, con el fin de darle estabilidad numrica al Mtodo Simplex Revisado, se ve como trabajar con las matrices elementales. Esto es, se mostrar como construir y aplicar acciones, utilizando permutaciones en los renglones. El pivoteo parcial es un tcnica que utiliza estas permutaciones buscando tener dividendos grandes (en valor absoluto). En general no es suficiente aplicar slo esta tcnica para obtener estabilidad [5]. Pero dadas la caractersticas

5

del problema a resolver, solo abordaremos el pivoteo parcial. Adems damos una justificacin un tanto informal de porque tener dividendos grandes (en valor absoluto), ayuda a reducir los errores en las divisiones y multiplicaciones que se realizan al aplicar acciones.

Se supondr que se est familiarizado con los conceptos bsicos de un curso de lgebra Lineal, a nivel licenciatura. Sin embargo, se darn algunos conceptos bsicos que se considera importante que se aborden en este capitulo. Ademas conociendo la teoria del Mtodo Simplex Normal y el material de este captulo, estamos listos para abordar el Mtodo Simplex Revisado con sus dos ,,versiones.

1.1 BASES Recordemos la siguiente definicin, la cual es fundamental en la teora de programacin lineal.

Definicin 1.1.1: Una base para R

n

es cualquier subconjunto de

vectores en Rn L.I. los cuales generan a Rn.

Esto es, que cualquier vector de !R se puede expresar en forma nica como combinacin lineal de los elementos de la base. El nmero de vectores L.I. que forman una base para R n es n.

6

Definicin 1.1.2: Sea V E R ny las columnas de B una base para Rn, entonces tales que V = a B1 + a B1

existe

un

conjunto

nico

de

escalares

a ,a ,a 3 , 1 2

2

2

+

+ a Bn Bn

donde B = [

B 1 Bz

A las componentes del vector(a

1

2,

a

3

..... a )

se les llama las

coordenadas del vector V respecto a la base B y se denota por:

[V)B.ComoV=a8 + a B 2 +, +

a

Bn , entonces se puede expresar:

V = B

[ '' es decir V = B [V] B , de aqui que [V B es solucin del sistema B [V] = V. Y sta es: [V] i3 = B-1V.

an

Observacin : Para cambiar al vector V a la base B, basta multiplicarlo por B1.

Ejemplo 1.1.3: Supongamos que tenemos la base formada por las columnas de la siguiente matriz:

B =

1 -1 0

0 1 1

1 0 2

para R

3

7

y deseamos cambiar de base al vector V =

1 2 [ 3

, i.e. calcular [V] B.B

Una forma de obtener B

es utilizando eliminacin de

Gauss-Jordan, de tal manera que la matriz aumentada: BI] se le tranforma por medio de operaciones elementales en: [ I B-11. Calculemos B

1

de esta manera:

-10 11 02 .B1 I 2 3 OO 11 21 1 2 B 3 O01 B 0 B 1 B 1 B 0 1 1 0 1

B 1

1

B 0

2

B 1

3

por lo tanto

[V]

10 O1 2 11 3 00 01 1 R2 + -R 1 0 1 2 l 23 11 02 1 3 R - R2 0 1 1 00 001 12 11 02 B03 R- 0 1 0 1 -1 -1 1 IR2 22 21 -1 -1 -1 -1 1 22 1 -1 2 31 :1 1e 1 1 e 0 2 e 0 3 B 1 B

B e

o

e 1

e 0 1

e

B

B

B

3

/

/

{

e

e

e

3

B

B

1

01

o

R

1

O

3

R

I1 0 0 10 O1 01 l1 02 03 1-1 -11 O1 12 1 2 -/ 3 2 2 -1e2 e e e e e e -1 1

e3

3

o

o

/

-1

Asi

B-1=

=

2

-1 1

1

-1

8

1.2 MATRICES ELEMENTALES

En el mtodo de Gauss, para resolver sistemas de ecuaciones lineales, se aplican operaciones elementales en los renglones para realizar los respectivos pivotajes. En esta seccin mostraremos como construir matrices que al multiplicar a otra matriz, le realizan un pivotaje. Estas matrices, definidas mas adelante como "Matrices Elementales", nos sirven para hacer el desarrollo del

Mtodo Simplex Revisado en la forma producto de la inversa, as como el mtodo basado en la descomposicin LU.

Como el producto de matrices no es conmutativo, necesitaremos de la siguiente definicin:

Definicin 1.2.1:

Si la matriz C = AB, se dice que C resulta de la matriz A, o que resulta de

premultiplicar a B por postmultiplicar a A por B.

A continuacin presentaremos resultados donde interviene la multiplicacin de matrices, los cuales nos servirn para construir matrices que realicen pivotajes.

Sean A e M

mxn

yBEM

nxr

, para obtener el rengln j de AB, se

premultiplica El por el rengln j de A , es decir: [AB] = A B. J

9

Para obtener el rengln j de B, se premultiplica a B por a e t , esto es: B = et

1

B.

Es claro de lo anterior tomando a A = I.

Por otra parte si se quiere multiplicar a un rengln i de una matriz de mxn por una constante c, basta premultiplicarle por la matriz identidad de mxm (I ) modificada con c el lugar i-simo de la diagonal.

Ejemplo

1.2.1:

Consideremos

la

matriz

A

=

m e 1

br

J

c g k

d 1

multipliquemos por s al tercer rengln: Asi obtenemos 0 1 0 0 0 S a e 1 b c d gh k 1 a e S1 b c d fgh Si Sk 51

O

=

Ahora veremos como sumarle al rengln i,

el rengln j de una

matriz de mxn. Esto es equivalente a premultiplicar por la matriz identidad I agregndole un columna. Esto es equivalente matriz identidad los vectores 1 en el i-simo rengln j-sima

a sustituir en el rengln 1 de la e + e1

1

,

los cuales extraen a los

respectivos renglones y hacen la suma, i.e. (e 1 + e)A = eA+eA=A+ A J 1 1 j 1

10

J

1

I

00 0

O 1 0 0 : . 1. : . . :

0.. . 0

1

02 4

Ejemplo 1.2.2:

En la matriz A =

-2

sumarle al primer

5

1 3

3

rengln el tercero.0 1 0 1 0 1 3 2 [ 6 -2 5 4 2 1

Asi tenemos:

O O [

23

=

1

3

Construyamos una matriz que al multiplicar por ella realice un pivotaje, combinando multiplicacin por un escalar y suma de ') renglones, en el lugar de a 22 de la matriz:1 2 -1 2 -1 4 0 1 2

A

= [

1 3

Para hacer 1 en el lugar a 22 multiplicamos por 1/4 al segundo rengln.

BA

=

O O O //4 O 0 [1 0 1

1 2 -1

2 4 1

-1 0

2

11

-1 0 2

3 1/4 3

en sta nueva matriz al primer rengln restemos dos veces el segundo y al tercer rengln restmosle el segundo.

'

1 -2

0

C(BA)

=

o

1

o1

[ 0 -1

/ 1 /2 -1

2 1 1

-1 0 2

3 1/4 3

=

0 1/2 1 -3O/2 0

-1 5/2 0 1/4 2 -11/4

11

como C(BA) = (CB)A, entonces podemos construir CB que es la matriz que realiza el pivotaje, quedando de la siguiente manera:

1 -2 CB = [ o 1 o -1

0 o1

0 0 1/4 0 0 1

=

1 O 0

-2/4 1/4 -1/4

0 0 1

Observacin: Si en el i-simo rengln se encuentra el elemento pivote, en la matriz por la que hay que multiplicar se cambia la i-sima columna.

Definicin 1.2.3: Por una matriz elemental de mxm entenderemos a cualquier matriz idntica a I excepto en una columna, las denotaremos por El

En general la matriz elemental que realiza un pivotaje en el lugar aIJ

de la matriz:

a a11 A=

12 12

1J

1n

BIBLIOTECADE CIENCIAS EX ',CTAS Y NATUFj.L1:3SABER DE MAS ALAS RARA MI GRANDEZA

a a11

a

11

...a

In

a a

ml m2

mj

es la matriz E e Mm.Tat

1

1J 1 -a /a . 2J 1j

-a /a

'17a

./j1 1

-a

mj/a.

1

12

Ahora presentaremos dos mtodos para resolver sistemas de , ecuaciones, a saber se utiliza la forma producto de la inversa y la descomposicin LU.

Enseguida veremos como se puede expresar a B como el producto de m matrices elementales, a sta se le conoce como forma producto de la inversa.

-1

1.3 FORMA PRODUCTO DE LA INVERSA Dada una matriz B de mxm invertible, existen a lo ms m

matrices elementales que relizan los respectivos pivotajes, de tal manera que: E E

t t -1

E B = [P] de la identidad y = [B1] E

donde [P] es una permutacin E E

t t -1 ..... E 1-1

entonces si queremos conocer B y si se desea tener a

necesitamos conocer E E

t t-1

B -1

con sus columnas ordenadas se necesita la

matriz de permutaciones, la cual al multiplicar por ella realiza el cambio en los renglones.

La matriz de permutaciones es una permutacin

de

I .

Supongamos que en la matriz A tenemos que intercambiar a el rengln i por el rengln j entonces para construir la matriz de

permutaciones, en 1 hacemos este mismo intercambio. Para ordenar a [A 1 ] la obtenemos:

A 1 = [P] [A 1 ]

13

En lo que sigue, salvo en los ejemplos, no consideraremos a las permutaciones para retomarlas posteriormente.

A continuacin veremos como se resuelven los sistemas derechos e izquierdo utilizando la forma producto de la inversa (FPI)

Consideremos el sistema derecho BX = b y supongamos que:B 1 E E , t t-1 E 1

entonces la solucin es X =

E t Et-/ , ..,E b,

esto es

premultiplicando a b por las matrices elementales en el orden en que aparecen. 2.- Si el sistema es izquierdo como YB = C la solucin esY = CE E

t t1

,,,,, E , i.e. postmultiplicando a

C por las matrices elementales en el orden contrario en que aparecen.

Veamos un ejemplo de cada caso Ejemplo 1.3.1: Consideremos el siguiente sistema derecho AX = b

{ 2 1 4

1 -1 1

1 Ir X 31 1 3X 2 =

41

X

10

encontremos la inversa de A en su forma producto: Multiplicando por una matriz que realice el pivctaje en la primera columna obtenemos:

1/2 E A =1

0 1 0

0 0 1

2 1 4

1 -1 1

1 1 3 =

1

1/2 1/2

-1/2 -4/2

0 -3/2 1/2 0 -1 1

14

ahora en la segunda columna

1E (E A) = 2 1

1/3 -2/3 -2/3

0 0 1

1 0 0

1/2 -3/2 -1

1/2 1/2 1 =

1 0 0

0 1 0

2/3 -1/3 2/3

0 0

y en la tercer columna 1 E 3 (E 2 (E A)) = 10

0 1 0

-1

1 0 0

0 1 0

2/3 -1/3 2/3 =

1 0 0

0 1 0

0 0 1

1/2 3/2

0

asi el producto 1 00 0 = {1 0

E3E2E1

A=1/3 -2/3 -2/3 0 0 1 1/2 -1/2 -4/2 0 1 0 0 0 1 21

01

-1 1/2 3/20 1 0 0 0 1

1 {0

1-1 1

11

0

4

3

por lo tanto la inversa de A es:

1 A 1= E E E =321

0 1 0

-1 1/2 3/2

1

1/3

0 0 1

1/2 -1/2 -4/2

0 1 0

0 0

0 -2/3 0 -2/3

E E E = -1/2 -1321

1/2 3/2

-5/2

-1

y la solucin del sistema est dada porX=EEEb321

15

1 X= 0 0

0 1 0

-1 1/2 3/2

1 0 0

1/3 -2/3 -2/3

0 0 1

1/2 -1/2 -4/2

0 1 0

0 0 1

4 1 10=

-1 2 4

Ejemplo 1.3.2: Ahora resolvamos un sistema izquierdo YA = b 2 [Y ,Y ,Y 1 1 2 3 2 0 3 3 1/4 1 -1 0= [2, 17/4 ,-11

encontremos la inversa de A en su forma producto:

1/2 E1A= -1 0

0 1 0

0 0 1

II

2 2 0

3 3 1/4

1 j -1 0=

1 0 0

3/2 0 1/4

1/2 -2 0

1E (E A) = 2 1 0

0 1 0 1/4 -1/2 0

-6 0 4 0 0 1

10

3/20

1/2 -2 0 1/2 0=

1 0 0 1 0 0

0 0 1 0 0 1

1/2 -2 0 0 1 0

0 1E ( E ( E A)) = 3 2 1

0 1 0 0

1/4 0 0 1

0 0

ahora necesitamos multiplicar por la matriz de permutaciones: 1 P = 0 0 0 0 1 , de tal manera que

0

1

0

P E (E (E 1 A)) = 3 2

I

entonces la inversa de A es: A 1 =PE3E2E1 y la solucin de YA = b est dada por Y = b P E 3 E E 1 0 0 Y = I Y= 1/4 -1/2 0 0 0 15 1

2

[2, 17/4 ,-11 PE 1 0 0 0 1 0 -6 0 4

3

EE I 21/2 -1 0 0 1 0 0 0 1

PE E E = 3 2 /

1 0 0

0 0 1

0 1 0

[0, 1 ,

16

La forma producto de la inversa es la ms natural para trabajar el Simplex Revisado, pero en nuestro caso resulta ms eficiente trabajar con la descomposicin LU porque el nmero de operaciones es menor. En el mtodo de descomposicin LU se puede expresar a El como el producto de una matriz triangular inferior por una matriz triangular superior i.e. B = LU.

1.4 DESCOMPOSICION LU

En la descomposicin LU se necesita hacer pivotajes a una matriz, aplicndole operaciones elementales hasta obtener una ''matriz triangular superior U. La matriz que realiza estos pivotajes en la matriz

a

11

a

12

...a

1J

...a

1n

A =

a. .

11

a. .

12

. .

1.5 . . mJ

In

a

m1 m2

a

...a

...a

ion -

es la matriz de mxm

1 -a 1 mi/a 1

17

si multiplica a la matriz A obtenemos:

0

o 1

o o

o o

. 1 /a J ...o -a /a. 1J ..1

mJ

1n . . a a ...a ...a 11 12 11 In . . . . . . a a ...a ...a ml m2 mJ mn . . . . . .

a

11

a

12

...a

11

...a

a a a

..

11

a a

12

...a...a11

In In

11 12 ..

...1o

...a.

ml

a

m2 ... 0

mn

esto es, convierte en 1 al elemento a y pone ceros debajo de l.

El mtodo de descomposicin LU parte de los sistemas de ecuaciones lineales cuadrados.

Definicin 1.4.1: Un sistema AX = b es triangular cuadrado si A es una matriz triangular. Este puede ser triangular superior o

triangular inferior. Ejemplo 1.4.2 : X 1 + 2X X 22

+ 3X - 2X 5X

33 3

-

X X

44 4

= 1 = 4 = 2 = 1

- 3X

X

4

1 O lo expresamos como O O

2 1 O 0

3 -2 5 0

-1 1 -3 1

X X X X

1

2

4 21

es un sistema

3 4

triangular superior cuadrado.

18

Un sistema triangular superior se resuelve con sustitucin regresiva, es decir, se encuentra X luego Xn-1

, hasta X1.

Ejemplo 1.4.3: Consideremos el sistema triangular inferior 1 5 1 1 0 3 2 2 0 0 -1 3 0 0 0 -1 X X X1

1 4 2 1

2 3

4 -

Como la matriz es triangular inferior, el sistema se resuelve con sustitucin progresiva. Es decir, si la matriz es triangular inferior de orden n se encuentra X 1 , luego se encuentra X 2 , asi hasta X . n

En la descomposicin LU la matriz B se puede escribir como: B = LU donde L es, una matriz triangular inferior y U una matriz triangular superior. Como veremos, para resover los sistemas, necesitamos obtener U y L-1.

Si B = LU y queremos resolver el sistema derecho BX = b, sustituyendo B y asociando(LU)X = b L(UX) = b

entonces primero se resuelve LY = b y luego UX resolver el sistema izquierdo YB = c, i.e. Y(LU) = c (YL)U = c

Y. Si queremos

entonces se resuelve primero XU = c y luego YL = X.

19

Observacin : Resolver el sistema derecho BX = b, los sistemas derechos LY = b y UX = Y,

lleva a resolver Los cuales son

relativamente fciles de resolver.

De igual manera sucede para el

sistema izquierdo YB = c, que equivale a resolver los sistemas izquierdos XU = c y YL = X.

A continuacin veremos como se encuentran U y L -1 por medio de matrices elementales, para despus resolver un sistema derecho e izquierdo utilizando la descomposicin LU. utilizaremos los siguientes resultados: Para lo cual

Las matrices elementales para el mtodo triangulares inferiores.

de Gauss son

Si A y B son matrices triangulares del mismo tipo AB tambin lo es. 3.- Si A es una matriz triangular invertible entonces su inversa es triangular del mismo tipo.

Para encontrar U prdmultiplicamos a B por matrices elementales que pongan unos en la diagonal principal y ceros abajo de ella

salvo permutaciones en sus renglones. Por el momento supondremos que no hay permutaciones, el caso en que stas aparescan, se

tratarn al final de este captulo. En este caso U queda expresada por: E ...E E B = U t 21

20

Para encontrar L

-1

despejemos B B =(E ...E E )-117

t

2 /

por los resultados anteriores E ...E E es una matriz triangular t 2 1 inferior y su inversa ( E ...E E )-1 t. 2 1 denotando a (E ...E E ) -1 t 2 1 L tambin lo es. Entonces,

por L nos queda que-1

= E...E E t 2 1

A continuacin veremos un ejemplo en donde dada un matriz B / encontramos L y U. Ejemplo 1.4.4: 2 Sea B = -1 1 1 1 1 0 4 2

Aplicando la primera martiz elemental 1/2 0 E B = 1 1/2 1 -1/2 0 0 0 1 2 -1 1 1 1 1 0 4 = 2 1 0 0 1/2 3/2 1/2 0 4 2

aplicando la segunda 1 E (E B) = 2 1 0 0 0 1 1 0 0 1/2 0 3/2 4 = 1/2 2 1 0 0 1/2 0 1 8/3 0 2/3

0 2/3 0 -1/3

y la tercera 1 E 3 (E 2 (E B)) = 1 0 0 0 1 0 0 1 0 0 1/2 0 1 8/3 = O 2/3 1 0 0 1/2 0 1 8/3 = U 0 1

0 3/2

de aqui tenemos que

E E E B=U y L =E E E3 2 1 3 2

1

1

i.e.

21

1 0 0

0 1

0 0

1 0

0

0

1/2 1/2 -1/2

0 1 0

0 0 1

1/2

0 2/3

0 0

2/3 0

=

1/3

0 3/2

0 -1/3 1

-1 -1/2 3/2

Aprovechando que tenemos L 3 y 2 -11

U resolvamos el sistema derecho

1 1 1

0 X 42 2

10 6 1 1

:3 1

Para esto resolvamos el sistema LY = b, cuya solucin es Y L b.

Luego- resolvamos con sustitucin regresiva al sistema UX = Y. As tenemos que 1/2 Y = 0 0 1 10 6 1/21 7 3

1/3 2/3 0 -1 -1/2 3/2

y resolviendo el sistema 1 0 [ 0 la solucin es: X 1/2 0 1 8/3 0 1 X1 X X 2=

i 1/2j 7

33

1

1

X23

I = -13

Ejempl o 1.4.5: Resolvamos ahora el sistema izquierdo YA = c

2 1 [Y 1' Y 2 ,Y 3 ,Y 4 1 1

1 -1 1 0

0 2 3 0

01 0 01

= [8 ,1 ,2 ,3 ]

22

1 Encontremos U y L ; aplicando la primera matriz elemental

1

A =

1/2 -1/2 -1/2 -1/2

0 1 0 0

0 0 1 0

0 0 0 1

2

1 -1 1 O

0 2 3 O

01 0 0 1

1

1/2 -3/2 1/2 -1/2

0 2 3 0

0

1 1 1

0 0

0 0 1

aplicando la segundaE (E A) =

2

1

1

O

O

1

1/2 -3/2 1/2 -1/2

0 2 3 0

0 0 0 1

1 0 00

1/21

0 -4/3 11/3 -2/3

0 0 0 1

0 0 O

-2/3 1/3 -1/3

01

00

0 0 0

0 0

0

1

BIBLIOTECAaplicando ahora la terceraE (E (E

nsAmIturItswes 3 2 1 OA)) =RARA MI GRANMA

DE CIENCIAS Ei 4J:JAS Y liATu;;;L:3

1 0 0

O

1

1/2 1 0 0

0 -4/3 11/3 -2/3

0

1 0 0 0

1/21

0 -4/3 1 0

0 O 01

0100 0 0 3/11 2/11 0 1

0 0 0

0 0 1

0 0

=U

asi obtenemos U y L1 1 C = 1 0 0 01

0 -2/3 1/3 -1/3

O 0 1 0 0 0 1

1/2 -1/2 -1/2 -1/2

0 1 0 0

0 0 1 0

0 0 0 1 el

0100 O 0 Como ya 0 0 3/11 2/11 0 1

0 0 0

tenemos U resolvamos

con sustitucin

regresiva

sistema XU = c, i.e.

23

1 0[X J

1/2 1 0 0

0 -4/3 1 0

0 0 0 1 = [8 ,1 ,2 ,3 1

1

,X

2

,X3,X

4

0 0

y

la solucin es

X1,X2,X3,X4]= [8, -3, -2, 3]

Ahora queda por resolver YL =1 [Y i ,YZ ,Y 3 ,Y 4L

X

= [8, -3, -2, 3] -1

[Y- ,Y

1

2

,Y ,Y ] = [ 8, -3, -2, 3] L 3 4

esto es

E [Y-,Y2 ,Y 3 ,Y 4 1 = [ 8, -3, -2, 3] E 3 2 E 1 1

y la solucin es: [ Y , Y 2 , Y 3 , Y 4 ] = [ 2, 1, 0, 3]

1.5 ACCIONES Y PERMUTACIONES

Al multiplicar por matrices elementales para realizar un pivotaje sobre una matriz, la mayor parte de las operaciones consiste en multiplicar por unos y ceros. Ahora, con el,fin de ahorrar estas operaciones, en un vector llamado accin se guardar la informacin mnima necesaria para realizar el pivotaje y se dar el procedimiento para realizarlo. Esto es, ver como construir acciones y como aplicarlas. Por otro lado, el uso de permutaciones en los renglones es indispensable ya sea porque el candidato a elemento pivote sea un cero o por la necesidad de ayudar en estabilidad numrica del algoritmo. Esto ltimo lo tocaremos ms adelante.

24

A continuacin veremos como construir acciones y como aplicarlas, para lo cual haremos las siguientes consideraciones:

Si al vector b se premultiplica por la matriz elemental que realiza un pivotaje en el elemento a 11 , el resultado es: -a1

11

/afi

b1

b1

- (a /a )b1 12

-a /a . 2) 11 . . '17a11

1 1

b

2

b

- (a /a )b2

1

b /a 1

1

-a

1ti

mi/a

1

b

b

- (a /a )bm

1

1

el cual se puede descomponer como: b1

- (a /a )b1 1 2

1 1 =

b1

b

- (a /a )b2

1

b2

a

2

b /at

1

o 1 1

-1

b /a1

1

b

- (a /a )bin

b

a

m

De esta igualdad se observa que para obtener el resultado se necesita conocer, aparte del vector b, l matriz de mx1:

slo

a

2

y el ndice 1 del rengln donde se realiza el pivotaje. 1/a 1 a

25

Definicin 1.5.1: Sea E una matriz elemental que, realiza un pivotaje la matriz A, con elemento pivote a componentes /J . Al vector de m+1

a a .ztia

a

donde se guarda informacin necesaria de E se le llama ACCION y se denota por AC

En vez de decir que se va a premultiplicar por una matriz elemental que realice un pivotaje, se dir que se va a aplicar una accin por la izquierda que realice un pivotaje. Para esta

aplicacin se dan los siguientes pasos:

t = AC(1) C = b(t)

c) D = AC(1+1) F = D*C

= 1/a t = b /ai

e) El resultado se obtiene: R(i) = F para j * t calcular: R(j) = b(j) - (F AC(j+1))

26

Si postmultiplicamos a un vector C por una matriz elemental que realice un pivotaje en el elemento a 11 , el resultado es:

-a /a 1J 1j -a /a . 2j 1j [c 1 , ...,c ..... c ] 1 '17a .1j

1-a

1mi/a 1j

1

donde c = -c a /a -c a /a -...+c /a -... -c a /a .1

1 1

1

2 2

1

1

1

m m

1

reduciendo la expresin:

c = c/a -1/a Ca + Ca+...+C1 1 l l 2 2

1-1 1-1

a +c

1+1 1+1

a

+c al

De aqu que para obtener el resultado tambin se necesita conocer la informacin guardada en la accin:

1 a l a

.2

a

27

Asi se tienen los siguientes pasos para aplicar una accin por la derecha.1

AC(1)

H = C(1) D = AC(i+1) F H * D = 1/a = c /a

e) Para obtener R(1) se calcula R(i) = F - D*k 1

a C

kk

y para obtener R()) con j = 1 se iguala R(J) = C(J)

Observacines: Para construir una accin se requiere una divisin. Para aplicar una accin que realice pivotajes se requieren m productos, no importando que se apliquen por la izquierda o por la derecha. En cambio si se multiplica por matrices elementales se necesitan zm-1 productos y m divisiones.

Cuando se desea implementar el uso de la computadora, en la solucin de SEL, no siempre se obtienen resultados vlidos. Esto se debe principalmente a los errores de redondeo, por lo que se tiene la necesidad de ahorrar operaciones, en medida de lo posible.

Ahora veamos como el uso de permutaciones en los renglones ayuda a proporcionar estabilidad numrica al algoritmo. Esta se obtiene de la siguiente manera:

28

Como las divisiones y las multiplicaciones son unas de las operaciones que acarrean ms errores de redondeo, entonces con el fin de darle estabilidad numrica al algoritmo se tienen que

disminuir estos errores. Para tener errores ms pequeos en la divisin lo que se tiene que hacer es tratar de que los denominadores sean lo mas grande posible (en valor absoluto). Como consecuencia de tener el error ms pequeo en la divisin automaticamente en las multiplicaciones que se tienen que realizar, tambin tienen error ms pequeo. anterior: Veamos como se justifica lo

Recurramos al clculo de errores. La estimacin para el error ''de la divisin est dado por: AX 2 X

A l ;.( )

De sta frmula se observa que entre ms grande sea el dividendo la estimacin para el error de la divisin es ms pequea y algo que tambin nos servir para disminuir los errores en la multiplicacin es que la divisin tambin es ms pequea. Para concretar esto

ltimo veamos lo siguiente: supongamos que se multiplica (Y)(1/X) donde 1/X se calcul con el X ms grande, es decir tanto 1/X como A(1/X) son lo ms pequeo posible. la estimacin para el error del producto est dada por:

4(Y)(1/X)) = YA(1/X) + (1/X)(4Y)

29

Como

1/X y (1/X) son lo ms pequeo entonces la estimacin del

A(error de la multiplicacin A(Y)(1/X)J tambin es ms pequeo.

Veamos ahora como se utilizarn las permutaciones en losrenglones

para tener dividendos ms grandes.

Supongamos que se realizar un pivotaje en la columna j y que se va a pivotear en el lugar que ocupa a , entonces como el fin es tener el dividendo ms grande, ste se busca entre los elementos de la columna j apartir del rengln i-simo hacia abajo, es decir el ms grande (en valor absoluto) se calcula:

a ki = max {la I a I} mi

Ahora si este es el caso entonces se intercambian el rengln t y el rengln k.

Observacin: Las divisiones y multiplicaciones que aparecen en ambos grupos de pasos tienen el error ms pequeo siempre y cuando se realice pivotaje parcial; esto es, que se realice la correspondiente permutacin en los renglones.

Como en cada paso lo ms probable es que se tengan que permutar renglones, entonces es necesario introducir en cada paso la matriz de permutaciones, la cual estar representada por la accin:

ti

30

o

o o

Observacin: La caracteristica principal de esta accin es que slo la segunda y la tercera componente son distintos de cero.

El procedimiento para aplicar este tipo de acciones ser una rutina que para cada j realice:

-

temp =

a1

.3

,

a

1

=

a,kj

a

kj

= temp

Donde temp es una variable temporal que guarda el valor poderlo asignar a a kj

a

1j

para

Estas acciones se guardan en un archivo llamado "ETA" (Elementary Transfomation Actions) y para realizar pivotaje parcial a una matriz A en sus m columnas el archivo ETA queda de la forma.

ETA [ EglE P-1

[E2IPIIEINJ

De tal manera que ETA aplicado a A da como resultado: ETA( A ) = I

31

En el caso de trabajar con descomposicin LU es fcil ver que las acciones quedan de la forma:

o o tia a

i

y para aplicarlas, ya sea por la izquierda o por la derecha, se aplican los mismos pasos solo que en donde aparece "para j * i" se sustituye por "para j >

i".

En los ejemplos que aparecen en este trabajo, utilizaremos las matrices elementales en lugar de las acciones, ya que estas ltimas tienen ms sentido en la implementacin computacional.

32

CAPITULO II

SIMPLEX REVISADO FORMA PRODUCTO DE LA INVERSA Y SIMPLEX REVISADO CON DESCOMPOSICION LU

En este captulo se presenta el simplex revisado junto con dos de sus versiones, estas son: la forma producto de la inversa y la descomposicin LU. En ambos se muestra como utilizar los clculos de la etapa anterior, que se conoce como la actualizacin y por ltimo se hace una comparacin del nmero de operaciones en cada mtodo.

2.1 SIMPLEX REVISADO

En la mayoria de los PPL se tiene que el nmero de variables es mucho mayor que el nmero de restricciones (n > m). Esto hace que al trabajar con el Simplex normal queden muchas columnas sin entrar a la base, esto es, nunca se realiz un pivotaje sobre ellas, sin embargo, se realizaron operaciones sobre todos sus elementos que realmente no fueron necesarias.

El mtodo del Simplex Revisado es un procedimiento con el cual se ahorran clculos, espacio de memoria. Por disminuir el nmero de operaciones al aplicar acciones y por aplicar permutaciones, se reducen errores de redondeo.

33

Las propiedades Primal-Dual (Apndice A) aseguran que en cada iteracin del Simplex Normal solo se requiere conocer una parte de la matriz, esto es, el vector b, el vector de costos y la columna pivote.

Estas propiedades dieron origen al mtodo Simplex Revisado, en el cual C, A l y b se van calculando en cada etapa, es decir, se van actualizando. Para actualizarlos es necesario resolver tres sistemas de ecuaciones, stos son:

BX =b

BYl =AYB 1

=

Ct o YB = eB

t 1

Como se vi en el capitulo I utilizando la forma producto

dos formas de resolverlos es de la con la inversa y utilizando FPI en cada iteracin

descomposicin LU. Como veremos/

tambin se puede actualizar B aplicandole una matriz elemental, en el caso de utilizar descomposicin LU, si la k-sima columna de B es la que sale de la base se requiere aplicar m - k + 1 matrices elementales para actualizar U y las mismas sirven para actualizar

Ahora veremos de donde se obtienen tales sistemas: Consideremos el siguiente PPL Hin C X sujeto a AX = b con X = O. t

Suponiendo que tenemos una solucin bsica factible tomemos 1 B c { A ,A2

..,Atal que B forme una base que da una solucin } es decir, BX es: X = 131 b + NX NA = [

bsica factible, expresamos como sistemaBX

SIN] entonces a con X N

AX

=b la

= b

= O y una solucin del

= b

Por otra parte supongamos que tenemos la tabla del simplex b

AqBDondeAl

es la columna pivote. expresando a las columnas en la base

B, nos queda:

B

[

En el lugar en donde estaba inicialmente la columna j aparece ahoraY 3 = B 1A 3

que es la solucin del sistema BY J = A .1

En el apndice A de la teoria de programacin lineal definimos Z = C1Y + C 2Y +...+ CmY mi 23 B ljZ =

1

C

t

Z =C B

B t

Y 14113

J

Asi basta conocer Y = C

t

B

-1

para calcular todos los Z . Los

coeficientes del vector de costos son:

-1 J Z -C =CB A - C J J

35

se tiene que conociendo Y = C

t

B

-1

que es la solucin del sistema

YB=C se pueden calcular los coeficientes del vector de costos.

Estos coeficientes tambin se pueden calcular de la siguiente manera: Consideremos la siguiente matriz

a (1/a 1.1 ) a

11 11

a1J

a a

in 1n

C al convertir a a queda:1J

1

-c

J

n

1

en uno y cero a -c el rengln de costos nos

)R donde R es el rengln 1. C = C + (c /a 1 1i 1 .1 Y el rengln t cuando la matriz est en la base B se obtiene

el1

B1A2

B-1An]

= etB-1A1;\

1

t t -1 es solucin del sistema YB = e donde e B

Entonces en cada paso necesitamos resolver los sistemas:

BX = b BY I = A iYB = C

sistema derecho sistema derechoYB = e

t

o

t

sistemas izquierdos

94.

Una forma de resolverlos es utilizando eliminacion de Gauss-Jordan en cada uno, otra manera es encontrando B y la solucin de cada sistema queda: X = BB 1

b

BIBLIOTECADE CIENCIAS El.",CTAS Y IIATUflIS

YJ = BY

1

A .1

=

t

-1 Fi SABER DE 1118 HIJOS CBZA PIARA NI GRAKDE

B

-1

o Y = eB

Veamos como se va modificando la tabla en cada iteracin. La tabla inicial del simplex es: N

AJ Ct N

B C t

b

8

Z

Despus de elegir al elemento pivote sabemos automticamente que vector sale de la base y cual entra, de tal manera que pasamos de la base I a la base B, suponiendo que se actualiza el vector de costos y el costo ms positivo es c k entonces la parte de la matriz

que necesitamos conocer para elegir la nueva base es:

1 k A C t8

1B -1

B1b

Similarmente si pasa de B a B la nueva tabla es:

... -1 1 B A

.... I

B

-i

b

t ^-1 C- B8

37

Considerando la tabla completa del Simplex, y al pasar a la base B, la tabla inicial:N

b

-Ct

o

Z

Al realizar los pivotajes del mtodo simplex nos queda:B-1NB

-1 1

Blb 2

C

t

B

1

N - C

tN

o

tC

13

De aqui se observa que:/1

b

pasa aC

B

8

b

o

t

B

1

2

1 En cada iteracin se resuelven tres sistemas encontrando B , sta tambin se puede encontrar mediante eliminacin de Gauss-Jordan, pero existen otros mtodos ms eficientes y que _1 tienen adems la ventaja que nos permitirn actualizar B de una manera mucho ms sencilla, tales como la descomposicin LU y la Forma Producto de la' Inversa. Enseguida presentamos los pasos del Simplex Revisado independientemente de la manera en que se 1 encuentre B .

Para calcular el vector de costos se resolver el sistema YB =

Ct ,

ya que el sistema YB = e

tm+1

, actualiza solo cuando se cambia a en adelante trabajaremos con el

una base adyacente. De ahora sistema YB = C t s.

za

PASOS DEL METODO SIMPLEX REVISADO

Se resuelve el sistema YB = C

Se calcula YN- C

N

y el mximo coeficiente , si ste es negativo

se est en el ptimo, si no ir al paso c).

Se elige al vector A l que entra a la base y se actualiza resolviendo el sistema: BY J = A J .

Se actualiza al vector b resolviendo el sistema:

BX =b

Se elige el vector Ar que saldr de la base y se intercambia por

A 1 . (aqui es donde se realiza el cambio de base)

ir al paso a)

2.2 SIMPLEX REVISADO FORMA PRODUCTO DE LA INVERSA

Presentamos esta forma porque es ms fcil de entender y fu la primera implementacin eficiente del Simplex, aunque trabajar con descomposicin LU es ms eficiente, como veremos ms adelante.

1C)

En este mtodo se resuelven los tres sistemas utilizando la forma producto de la inversa, como se vi en la seccin 1.3 esto es, dado que B 1 se expresa como: B -1 = E, ...E E 2 1 I,/

entonces la solucin a los sistemas es: X = E Lt - 1 ...E E 2 1 b2 1

Y J = E

t-/ t Y = C E.B

...E E A)

t-1

...E 21

ACTUALIZACION DE LA INVERSA CON LA FORMA PRODUCTO

Si se pasa de B a B se pueden calcular facilmente

A a B lb , B lA l

y C

t

a / B

utilizando los clculos de la etapa anterior .

Consideremos la base B =

/ B ,

E2 ,

Bm

con matriz

1 Br inversa B , supongamos que la columna no-bsica A reemplaza a 1 lo cual da como resultado B. Se desea encontrar B en trminos de 1 k B , observando que A =Int

y que B 1 = Be donde e es el i-simo

vector cannico con 1 en la i-sima posicin. Tenemos que:

B =

1 2 B , B ,

,

r-1

A

k Br+1,_,Bm

B =

Be l , Be

2 ,...,

Be

r-1'

k BY , Be

., Be

m ]

B = BM , donde M es la matriz elemental:

40

1 .

Y 1k Y2k .

Y

rk

1 1

Y

mk

Como queremos obtener B y ya conocemos B1

1

1

necesitamos calcular

M , la cual obtenemos multiplicando por una matriz elemental que Y. realice un pivotaje en la columna r con el 1 en el lugar de Yrk

1

Y1k/Y

- Y.

rk rk

Y 1 2k ..

2k/Y. .

Y Y

EM =

1/Y

rk1

rk mk

1 1

- Y ,mk/ / rk

1

Y

EM = I de donde:1

m

M = E

-1 -1 = EB1 dado que B = BM entonces B 1 = ( BM) -1 = M BB -1 = EB 1

y como B 1 = E1

-

t-1

...E E2 1

B se expresa como B = E (E

tI

...E E ) de tal manera que:2 I

X- = b = E (Et-1...E2 E 1) b Y = A = E (E, ...E E ) A _IL-1 2 1 t

...E E Y = C- = C E B (Et-1 2 1) B

Al

Observacin: para obtener X" = b no es necesario aplicarle todas las matrices elementales a b (la original) en cada etapa, sino que aplicarle solo la ltima matrices elemental a la b de la etapa anterior.

En consecuencia la base inversa de una nueva iteracin se puede obtener premultiplicando la base inversa en la iteracin anterior por una matriz elemental E. Recordando que E se representa por la accin que contiene la columna no unitaria en el lugar r.

En base a lo anterior tenemos los siguientes:

PASOS DEL METODO SIMPLEX REVISADO FORMA PRODUCTO DE LA INVERSA Se calculan las primeras acciones que permitan expresar a B como: B = E E...E E . 2 1 m m-11

Se calcula Y =((...((C EM

)Em-1

)...E2

)E 1).

Se calcula YN - C

N

y el mximo coeficiente, si ste es negativo

ya se est en el ptimo, si no ir al paso d).

Se elige al vector A l que entra a la base y se actualiza con: yi = 135,J=CE ( EM m-1 ...(E (E AJ))...)). 2 1

e) Se actualiza al vector X" = b con : X- = Eb donde b no es la original sino la de la etapa anterior.

f) Se elige el vector A r que saldr de la base y se intercambia por

A.

Se calcula la accin que actualiza apartir de los valores de Yi y se agrega al archivo ETA.

ir al paso b)

Veamos un ejemplo en el cual se utilize el Mtodo Simplex Revisado Forma Producto de la Inversa, en donde obviaremos algunos clculos y trabajaremos con matrices elementales por ser ms apropiadas para seguir el ejemplo.

-Ejemplo 2.2.1 : MIN

Z = -3X - 5X1

2

Sujeto a: X +

1

X

3 + X 4+ X

= 4 = 12 s= 18

2X 23X + 2X

1

2

con X a O1

Iteracin O inicialmente tenemos que:

X3I

1XN

0 1 0

0 0 1

XB =

X

4 s

=

X

:21

E =E =E =B=B 1 1 2 3

=

0 0

4 jC =[0,0,0] t C =[-3,-S]N

1 N = 03

0 22

t

b =

12 18

43

Clculo de Y 1 Y = C E E E 3 B 2 1 t 0 10

0 01

=

[0,0,01

00

= [0,0,0]

Clculo de YN - C

N

1 0 YN - CN

= [0,0,0] 0 2 3 2

-

= [3,5]

como el mximo es 5, la variable que entra es

X2

Actualizacin de A

2

, Y

2

=E3E2E A2{ O 2 2 }

Y =

2

EE E

3 2 /

2 = 2

Actualizacin de b 4 b=E 4 12 18

3E 2 E 1

1 2 =

ibase.

1 8

buscando el mnimo de los cocientes, se tiene que sale X

4

de la

Iteracin 1

X =

X

X

2

X

N

=

Xil B =4.1

O O 0 { 2 2 4 12 18

0] 0 1 1 N = 0 3

1

O

O

E4 =

O 1/2 O 0 O 1 0

X 1 s

-

1

C

t

=

[0,-5,0]

C

tN

=[ - 3,0]

b =

44

b) Clculo de Y E E

Y= CtE

B 4 3 2 1

=

1 [0,-5,0]

0

0

1

1 0 0

0 1 0

0 0= [0,-5/2,0] 1

0 1/2 0 0 -1 1

c) Clculo de YN - C

N

1 0 YN - C w = [0,-5/2,0) 0 1 3 0 - [-3,0] = [3,-5/2]

como el mximo es 3, la variable que entra es X

d) Actualizacin de A l , Y

1

=E

E E A1 4E 3 2 1 011 0 0 1 0 1 0 011 0 1 0 3 1

4 3 2 1

0

Y 1=EEEEA 10 1/2 0 {1 0 -1 e) Actualizacin de b 4 b = E4

=

O 3

12 18

=

1

0

0

4

0 1/2 0 0 -1 1

if

12 18

=

4 6 6

buscando el mnimo de los cocientes, base.

se tiene que sale X5 de la

Iteracin 2

X X

B

=

3] X2

XN

X

={

X/3.

]

1 B= 0 0

0 2 2 4

1 0 3 E =s

1 0 0 0 N= 0 1

0 -1/3 1 0 0 1 0 0 1/3

4

C = [0,-5,-3]13

t

t C = [0,0] N

b=

6 6

45

Clculo de Y 1 t [0,-5,-3] Y = C E E E E E B 5 4 3 2 1 = 0 -1/3 0 1/3 1 0 0 1 0 0 01 0 0 0 1/2 0 010

I

0 -1

1

I

0

0

1

Y = [0,-3/2,-1] Clculo de YN - C 0 YN - CH = [0,-3/2,-1) 01

0 10

- [0,01 = [-1,-3/2)

como el mximo es -1, ya se esta en el ptimo y por lo tanto ya no se actualiza ninguna columna de A.

:) Actualizacin de b 1 tenemos que b = E b = s 0 0 0 -1/3 1 0 0 1/3 4 6 6 2

=

6 2

y la solucin es : 2 Xa

=X 2X1

= 6 2

{ 2 con Z = C tB

X

B

= [0,-5,-3]

6 2

= -36.

46

2.3 SIMPLEX REVISADO CON DESCOMPOSICION LU

Como se ha mencionado antes y como comprobaremos ms adelante, la descomposicin LU es un mtodo ms eficiente para resolver sistemas de ecuaciones lineales cuadrados y como ya se a visto en el simplex revisado es fundamental resolver tres sistemas en cada etapa, a saber:

BX =b

BY = A J

YB = C t e

Estos sistemas se resuelven como se mostr en el la seccin 1.4. Ahora veremos como resuelve los sistemas aprovechando los clculos - de la etapa anterior, esto es, dado que los sistemas se resolviern utilizando

L-1 , U y dado que la base B cambia en una columna, como

obtener L y U para resolver los nuevos sistemas.

1

ACTUALIZACION DE LA DESCOMPOSICION LU

Consideremos el sistema BX = b y expresemoslo as X1

X.2

= b

Xm -

Supongase que se pasa de B a B cambiando la columna K y como no afecta el orden en que se coloquen las columnas expresamos a B como

B = [B i; B2

B k-1

, Bk+1..,Bm,B4]

47

siempre y cuando en X - se realice el mismo reordenamiento, es decir: Los indices de la variables bsicas cambian de [1,2 ..... k,...,m] a (1,2 ..... k-1,k+1,...,m,q1

El nuevo sistema a resolver ser:-X 1 X

.2

X EB1B 2 Bk-1, Ak

Bm,Bq ]

. k+1

= b

XXm

q

Ahora premultipliquemos a B por L , esto es

-1

L

-^ 1 1 1 - 1 -1 k-1 B = EL B, L B,2...,L B

,

L

-1

B

k+1

,...,L-1

Dm,

y dado que L

1

B = U podemos expresar a L -1 1; como

= [U,

UM ,L

1 14 ]

=

(o a B como B = LS) donde U 1 es la i-sima columna de U desde1 =

1,2

k-1,k+1 ..... m.

La matriz M toma la forma:

M =

ASZ

donde en las primeras

k-1

columnas hay unos en la diagonalm-k+1

principal y ceros debajo de ella, en las

columnas restantes

hay unos en la diagonal inmediatamente inferior y ceros debajo de ella. A la matriz M se le puede transformar en triagular superior premultiplicandola porm-k+1

matrices elementales que terminen de

hacer los unos en la diagonal principal y los ceros en la diagonal inmediatamente inferior, es decir:

U =E E ...E Mm k

notese que estas matrices elementales son triangulares inferiores. Veamos ahora como obtener L : Despejando M1

M = E . ..y como B = LM entoncesa

-

1

E m-1

-1 -1 E U

DE CiENCtAasan MI18 RUnn nana 41 GRA/10[U

BIBLIOTECAY NA:j,,,.L..3'

B = LE ...Ek

-1

1

a

E I m-1 m

U

donde1k

las E1 1m-1 m

son tambin triangulares inferiores, asi que

LE ...E E es triangular inferior y por lo tantoL = LE-1k m-1

...E E . m

1

1

y

B = L U

De donde se obtiene que:1

L 1=

(E- LE-1 E-1 L-1 )m-1 m

esto es: L = (E1

...E )L m Em-1 k

49

Para actualizar el vector de costos es necesario resolver YB =CB para esto se resuelve XU = C

t

y se calcula Y = XLN

1 . Entonces

el vector de costos no bsicos acualizado es: YN - C

Para actualizar la columna que entra a la base es necesario resolver BYq = Aq , para esto se calcula Uy" = Y -1 q Y = L A y resuelve

Para calcula

actualizar X o b se resuelve

BX = b, para esto se

Y = L l b y resuelve con sustitucin regresiva UX" = Y

donde b es el vector original. De la segunda iteracin en adelante se le puede actualizar: X" = X - Yq (b /ak kq

)

Donde a es elkq

k-SiM0

elemento de la columna Yq , bk es la k-simakq

componente de b, Yq es la columna A q actualizada y (b k /a

)

es el

cociente mnimo positivo el cual refleja el valor de la variable que acaba de entrar a la base.

Esta manera de actualizar se toma de la tabla que se construye en la justificacin de los pasos del mtodo simplex normal, tiene la ventaja de que no es necesario resolver un nuevo sistema, esto se debe a que el sistema de donde se obtuvo Yq ya est resuelto. Adems es equivalente a aplicar a b, la accin que se utiliza en la FPI para el pivotaje en la columna q. Pero aunque sea ms trabajo, utilizemos solo la primera opcin que se da para actualizar. Veamos ahora como quedan los pasos del mtodo:

50

PASOS DEL SIMPLEX REVISADO CON DESCOMPOSICION LU

Dada B se calculan U y 1..-lcomo: U = E Em m-1

...E E B2 1

y

L

1=

E E

M m-1

...E E

21

Se resuelve con sustitucin regresiva el sistema XU = se calcula Y = XL / .

luego

c) Se calcula YN - C

N

y el mximo-coeficiente,

si ste es negativo

ya se est en el ptimo, si no ir al paso d).

nal

Se elige al vector A l que calculando Y = L-1 0

entra a

la base y se actualiza UYq = Y

y resolviendo

Se actualiza al vector b calculandoY=L -1 b

y resolviendo Ut; = Y

Se elige el vector Ak que saldr de la base, se intercambia por Aq y el vector de indices de las variables bsicas cambia de [1,2 ..... k,...,m] a [1,2,...,k-1,k+1,...,m,q] yq

g) se construye M = I

u l u 2 ... uk-1 uk+1 .

51

h) se calculan las

m-k+1

matrices elementales que actualicen a: U = E E ...E Mk

in m-1

L 1) ir al paso b)

- ^ = E E

zn-1

...E L-1k

Utilicemos este mtodo con el ejemplo anterior:

Ejemplo 2.3.1 : MIN

Z = -3X1 - 5X2 2 X + 1 2X 3X con X11

Sujeto a:

X 2

3 + X

= 4+ X5

4

= 12 = 18

+ 2X O

2

k

Iteracin O inicialmente tenemos que:

XB

X

3 4 XN

1 [ Xl] -1 = XL 2

O 1 O 1 0 3 O 2 2

O 0 1

X X

=

E = E = E l 2 3

=

B = U =

0 O

4 j C = [0,0,0] t C = [-3,-S]

N =

N

t

b =

12 18

b) Clculo de Y, que es solucin del sistema YB = Ct Primero se resuelve XU = y luego se calcula Y=XL con sustitucin progresiva -1 =XEEE 3 2 1

52

1 X 0 0

0 1 0

0 0 1 1 0 1 0 0 0= [0,0,0] 1 = [0,0,0] entonces X= [0,0,0]

Y =XE3

E2E1

= [ 0,0,0]

0 0

Clculo de YN - C

N

1 0 YN - C N= [ 0,0,0] 0 2

- [-3,-5] = [3,5]

3 2 como el mximo es 5, la variable que entra es X2

2 2 z Actualizacin de A , se resuelve BY = A : Primero se calcula Y = L 2 -1 2 A =E E E A 3 2 1

despus se resuelve con sustitucion regresiva UY 2 = Y 0 Y =E3E2E1 [2] 2 1 0 { 0 0 1 0 0 0 1 Y2 = 0 2 2 entoncesy2 =

0 12 2 02

2

e) Actualizacin de b, resolviendo el sistema BX = b se calcula Y = Llb =E3E2E1 b y luego se resuelve UX = Y

Y

0 0 0 ={1 1 0

0 0 1

4 12 18=

12 18

53

1 0 0

0 1 0

0 0 1 X = B

4 12 18 entonces b = X = 4 1 21 18

f) buscando el mnimo de los cocientes, se tiene que sale X

4

de la

Xbase. Y cambia a X= X

3 s

Xg) Construccin de M. 1 M = 0 0 0 0 1 0 2 2

h) Clculo de la matrices elementales que actualizan a U. Como en el lugar 2,2 hay un cero permutaciones que denotaremos porE4.

introducimos una matriz de

1 E 4=

0 0 1

0 1 0 aplicandola aM

0 0

1 E M = 4 0 0 1 y E s = 0 0

0 1 0 0 1 0

0 2 2 0 0 1/2

asi tenemos que la matriz U actualizada es:

U =EEEEEM

5 4 32 1 0 1 0 0

1 0 0

0 1

0 0

1

0

0

1

0

0 0 1

0 2 2=

1 0 0

0 1 0

0 2 1

0 1/2

0 0 1 0 1 0

0 1 0 0 0 1

54

Actualizacin de la matriz L : 1 C 1 = { 0 0 01

1

0 0

1

0

0

1

0

0

1=

0 0

0 1

O 0

0 1

1 0

0 0

1 0

0 1

0

0 1/2

0 1/2 0

Iteracin 1 X XN=

3 XB

{ 11

0 01

0 j 2 2 U

1 0 O 1 0 N= 0 1 3 0

0 1 0

0 2 1

5 X 12-

{ X

B =

00

4

4 Ct=[0,0,-5]

t C = [ - 3,0] N

b=

12 18

Clculo de Y, se resuelve XU = C progresiva y luego se calcula

t

con sustitucinC

Y= X

i = X 1E5E4E3E2E1

1 X 0

0 0

0 1=

[0,0,-5] entonces

X = [0,0,-5]

0 1/2 01 0 0

Y= XE

5 4 3 2 1

E E E E = [0,0,-5]

0

0

1

=

[0,-5/2,0]

0 1/20 Clculo de YN - C 1 0 YN - CN

= [0,-5/2,0] 0 1 3 0

I - 1-3,01 = [3,-5/2]

como el mximo es 3, la variable que entra es Xl

55

d) Actualizacin de A 1 , se calcula Y = L

-1 1 A =E5E4E3E2E

1

A1

despus se resuelve con sustitucin regresiva UY 1 = Y1

Y=EEEEE[54321

O 3

103 0

1 0 0

1

1

0 1

0 3

=

{ 3 O

0 1/2 0 { 1 entonces

1 0 0

0 1 0

0 2 1 YI

=

Y I =

3 0

Actualizacin de b, se calcula Y = Llb y luego se resuelve UX = Y

1 Y = 0

0 0

0 1

4 12 18

=6

18 6 4 4

0 1/2 0 1 0 0 0 1 0 0 2 1 X =B

18

entonces b = X =B

6 6

buscando el mnimo de los cocientes, la base.X3

se tiene que sale X

5

de

base. Y

X

B

cambia a

X =B

X

2 1

g) Construccin de H. 1 M = [ O 0 O 1 2 3 I 0

56

h) Clculo de la matrices elementales que actualizan a U. 1 E6

0

0

=

0

1/2 0

0 -1/2 1 aplicando 1 E M =6

E a M6

0

0

1 0 O1

0 2 1 0 1

1 3 0 0 0 =

1 0 0

0 1 0

1 3/2 -3/2

0

1/2 0

0 -1/2 1 i

y

E7

=

0 0

0 -2/3

asi tenemos que la matriz U actualizada es:

U

=EEN=7 6

1 O

0

1

1 la matriz L actualizada es: [ 1 0 L -1 = 0 1 0 0 1 0 O

1 3/2 0 1.

110 01 1/2

0

1 0 0

O 1 =

0 1/2 0 0 -1/2 1

0

0

0 0 -2/3

1/2 0

0 -1/3 1/3

Iteracin 2

X =

X3I

X2

X

=

[

5 X4

IB

1 0 1 2 0U=

10

0 1 0 { 0 0 1 0

1 3/2 1

X1

I

2 3 4

0

C = [0,-5,-3]

t

C= [0,0]N

b= { 6 6

N=

0 1

57

b) Clculo de Y, se resuelve XU = C t con sustitucin progresiva y luego se calcula Y = X L-1 1 X 0 0 0 1 1 3/2 0 1 1 0 Y = [0,-5,9/2] 0 = [0,-3/2,-1] = [0,-5,-3] asi X = [0,-5,9/2]

0 0 1/2 0 -1/3 1/3

Y = [0,-3/2,-1] c) Clculo de YN - CN

0 0YN - C N = [ 0,-3/2,-1]

0 1 1 0

- [0,0] = [-1,-3/2]

como el mximo es -1, ya se esta en el ptimo y por lo tanto ya no se actualiza ninguna columna de A.

e) Actualizacin de b, se calcula Y = L 1b y luego se resuelve UX = Y

1 0 0 if 4 Y = 0 0 1/2 0 -1/3 1/3 12 = 18

4 9 2

1 0 0

0 1 0

1 3/2 1 X =

4 9 2 asi X = b =

2 6 2

58

y la solucin es :

2 X = {X = X 1 6 2

{ 2 con Z = C t.B

X = (0,-5,-3]

6 2

= - 36.

2.4 COMPARACION DEL NUMERO DE OPERACIONES

En esta seccin se

obtiene el nmero de operaciones

( multiplicaciones y/o divisiones que son las operaciones que necesitan ms tiempo de clculo ) que se requieren para resolver, utilizando la forma producto de la inversa asi como la descomposicin LU, los sistemas BX =bB

BY J = A

YR = Ct

CALCULO DEL NUMERO DE OPERACIONES PARA LA FPI

Como se vi en la seccin 1.3 los pasos para obtener B 1 son los siguientes:

1) Se extrae la primera columna de B y entonces aqui se tiene una operacin.

se construye E1,

cn

2 Se extrae B , se le aplica E y con el resultado se construye E 2 , aqui se tienen m+1 operaciones.

3 Se extrae B , se le aplica E al resultado se le aplica E2 y con el resultado se construye E 3 . asi contina hasta llegar a m.

De aqui deducimos que el clculo de operaciones en cada paso es:

B 1 ---4 ETA---4 AC

1 m 1 m m 1

2 2 B ----4 E B ----4 AC - 3) B ---> E B3---> E

3 (E B ) ---> AC 2 1

M) ?

) E BM... E

1

m-1

(E

(...(E 1Bm)...))---4 AC m-2

m m m

1

Asi tenemos que el nmero de productos para encontrar inversa es:

la

m(m-1) + m(m-2)

+M

= m+ m ((m-1)m/2)= m= m

m (m2-m)/2 (m3 m2)/2 2

= M /2 - M /2 + m

3

Ya que se tiene la

inversa, para resolver cada sistema se m

requieren m2 operaciones, ya que aplicar una accin lleva

60

operaciones y se aplican m acciones, asi que para resolver los tres sistemas se requieren 3m 2 operaciones. Por lo tanto el nmero total de operaciones es:

3 2 2 M /2 - m /2 + m + 3m

=

/2 +

5m /2 + m

2

CALCULO DEL NUMERO DE OPERACIONES PARA LA DESCOMPOSICION LU

Veamos cuantas operaciones se nedesitan para obtener U y L-1:

Para obtener U 1 hacemos U 1 = e

1

y con B se construye la

primera accin, lo cual requiere una operacin.

Para obtener U2 a B

2

se le aplica la primera accin y se

construye la segunda accin, para lo cual se requieren m Y operaciones respectivamente.

3), Para obtener U

3

a B

3

se le aplica la primera y segunda

accin y se construye la tercera accin. y esto lleva m, m-1

y 1 operaciones.

m) Para obtener UT a BT se le aplican las m-1 acciones, para lo cual se requieren m , m-1 operaciones, a la

ltima componente de este resultado se intercambia por un

1

y se construye la m-sima accin, para lo que se requiere una operacin.

1

Lo que da un total de: 1 +m +1 + m + (m-1) +1 + m + (m-1) + (m-2) + 1 + m + (m-1) + (m-2) 2 + 1

BIBLIOTECACIENCILLBER ROS HIJOS RARA MI GRANDEZA

SA

.J

= (m -1)m + (m-2)(m-1) +...+(m-k)(m-(k-1)) +...+ (1)(2) + m m-1 m2 -2km + m + k 2 - k +m k = (m -1)m2 -2m(m -1)m + (m -1)m + (m -1)(m)(2m-1) - (m -1)m + M 2 6 2 = (M -1)(M)(2M-1) + (M -1)m + M 2 6 3 3 +M+M = M + 3m = M 2 2 3 3

Con este nmero de operaciones obtenemos a U y como ya se sabe tambin obtenemos a L 1 . Ahora calculemos el nmero de operaciones que se necesitan para resolver los sistemas: Consideremos al sistemaBY = A

que para resolverse a su vez se resuelven los sistemas LX = Al

Y

UY =X

Para resolver el primero se aplica una accin con m productos, luego la segunda accin con m-1 productos y as sucesivamente lo que da un total de m(m+1) . Para resolver el segundo se obtiene el 2 valor de la ltima variable, el cual multiplica 1111, de donde se obtiene el valor de la penltima variable, para lo cual se

realizaron m-1 operaciones,

el valor de la antepenltima variable

62

se obtiene de manera similar, para lo cual se utilizan m-2, y asi sucesivamente. Por lo tanto para resolver el sistema BY J = A l se requieren:m(m+1) + m(m-1) = m2

2

2

Los dos sistemas que faltan se resuelven con el mismo nmero de operaciones. Por lo tanto el nmero total para resolver los tres sistemas es:3 111 + 3111 3

2

+ am 2

Comparando este nmero con el obtenido para la forma producto de la inversa 3 2 m /2 + 5m /2 + m es claro que trabajar con descomposicin LU resulta ms eficiente.

CAPITULO III

METODO SIMPLEX REVISADO PARA VARIABLES ACOTADAS

En la mayora de los problemas prcticos de Programacin Lineal las variables estn acotadas, en algunos casos esto se debe a una disponibilidad limitada de recursos, en otros casos por cuestiones tcticas o polticas se acotan las variables y en otros, como en el caso de las dietas, es muy natural que se tengan

restricciones de mnimo y mximo en los nutrientes, las cuales dan origen a variables de holgura con cotas superiores e inferiores.

En este capitulo presentamos la forma general de los problemas con variables acotadas y como se resuelven de tal forma que no se incremente significativamente el nmero de variables. Para esto presentamos los aspectos principales como lo son: la definicin de solucin bsica factible, el criterio de optimalidad y no acotamiento, el criterio de pivotaje y la actualizacin.

La forma general de un PPL con variables acotadas es: t Min Z = C X Sujeto a AX = b con donde las componentes de incluso00

L = X5 U L

y U pueden ser positivos o negativos,

o

-00.

64

En lo que sigue supondremos que las componentes de finitas, los casos de resolver no lo requiere.w y -w

L y U

son

no

se tratarn pues el problema a

El mtodo ms directo de manejar las restricciones

L 5

X = U

consiste en introducir vectores de holgura X l y X 2 que hagan: X +X =U yX-X= L

1

2

Pero esto incrementa el nmero de restricciones de m a m + 2n y el nmero de variables de n a 3n. Lo cual nos indica que usar esta forma sera mucho esfuerzo computacional. Coh la tcnica de

variables acotadas se mantiene el nmero de restricciones y las variables se manejan implcitamente de manera similar como lo hace el mtodo Simplex normal para mantener las restriciones X = O.

3.1 SOLUCIN BASICAAcontinuacin damos la definicin de solucin bsica factible la cual es una extencin de la definicin original.

Definicin: Sea el sistema AX = b, donde A es una matriz de mxn de rango m , entonces el vector X es una solucin bsica

factible del sistema si A se descompone en A-[14

IN

2

]

Donde B tiene rango m y adems se cumple que:L

XBB

1(b1

LN1

-N 2

U

N2)

U B

L =XN1 N1

y

N1

XN2

65

B es la base, X

N2

son las variables no bsicas en sus limites y X NI

superiores e inferiores respectivamente.

Observacines: Si una variable es no bsica entonces esta en su cota inferior o en su cota superior. Si tomamos LB = O y a UB = w, entonces tenemos las restricciones usuales de no negatividad XB z O

Suponiendo que se tiene una solucin bsica factible veamos como queda la expresin de Z con el fin de mejorar su valor.

Asi como X se descompone en: XB I L N1 I UBB I

-de la misma manera el vector de costos C se descompone como: C=[C

B

C

NI

I 5

42

l

Entonces una expresin para Z es:X

B N1= C X

Z = C t X =

C

B

I C

NI

I C

N2

]

L

B B

+ C

N1 N1

L

+ C

U N2 N2

U

sustituyendo el valor de X8 en el clculo de Z tenemos

Z

-NL -NU) 1 /41 2 N2

+C L +CU N1 /41 N2 N2

y reagrupando

Z = C B lb - (

C B N - CB 1

N1NI -

( C B -1N C 2 N2 N2 B

(2)

66

en donde notamos queC B I N - CB 1

yN1

C B IN - CB 2

N2

dan los valores de Z - C .1 de las variables no bsicas en sus cotas inferiores y superiores respectivamente.

De lo anterior obtenemos que: Z = C B -l b -Z (J -C)

+Z ( C-Z

)t, J

(3)

L R2

.5 E R E 1

Donde R es el conjunto de ndices de las variables no bsicas en sus cotas inferiores y R 2 es el conjunto de ndices de las

variables no bsicas en sus cotas superiores.

Como se ve Z queda en terminos de las variables no bsicas, veamos como hay que modificarlas para mejorar el funcin objetivo. valor de la

Si X

es la variable que entra a la base, .1 = L i J

sta solo lo para J E R1

puede hacer aumentando su valor y si Z - C

> O

entonces el valor de Z disminuiria, de aqui que para entrar a la base se requiere que Z - C para JE

R

sea lo ms positivo con el U_I entra a la base, .1 = Ci - Z 7 > O

fin de reducir a Z "lo ms posible". Si X

sta solo lo puede hacer disminuyendo su valor y si para JE

R

2

entonces el valor de Z disminuirla, de aqui que para - Z sea lo ms positivo

entrar a la base se prefiere que C

posible. En base a lo anterior se concluye el siguiente:

67

3.2 CRITERIO DE ELECCION DE LA VARIABLE QUE ENTRA A LA BASE

El indice k de la varible que

puede entrar a la base se

determina como aquel en donde el costo de la variable corresponda a: M = max ( donde M1Ml , M

2

)

(

4)

= max (ZJ E R

J

1

-C )yM = max (C-Z ). 2 J J ERJ

2

Si este mximo es positivo, entonces X k es la variable que entra a la base. Si este mximo es no positvo entonces tenemos el ,1 siguiente teorema.

Teorema de optimalidad.- Si M 5 O entonces la solucin actual es ptima. Donde M = max M= max (Z-C) 1 J J J E Ft Esto es inmediato ya que siZj - C j 5 C - Z M 5 ,M=

2

j E R2 2

max (C-Z) J J

O entonces:E

O para toda j

R1 2

J

J

5 O para toda

j ER

fijndonos en (3) vemos que Z ya no puede decrecer ms lo cual indica que la solucin actual es ptima.

La variable que puede entrar a la base modifica su valor de manera restringida, ya que un cambio en su valor obliga a que las variables bsicas tambin se modifiquen y se debe asegurar

68

-l

que las variables X y X" se mantengan dentro de sus cotas, es decir:L sXsif k k ky LA

B

sX"s B

U"

B

Por lo que es necesario considerar el incremento o decremento de sta variable. A continuacin presentamos estos casos con su respectiva actualizacin.

3.3 INCREMENTO DE X APARTIR DE SU VALOR ACTUAL L Y SU ACTUALIZACION.SeaX =LN1

+Ae k

sta representa que la variable con

indice k aumenta de valor la cantidad A

k

(

inicialmente A

k

= O). Las

n variables restantes no bsicas estn fijas y los valores actualesdeXyZal sustituirX k=L

NI

+Ae

kk

en (1) y (3) se obtiene:

X" = B =B1

b - B 1 N 1 ( L N1 +A e ) - B 1N k k 2 -1 b-B N Lin - B i N UN2 - B 1 N e A1

2

1kk

= X - B 1N e Ay como N e = A 1 k

1kk

k1 k X" =X - B A A

donde Ak es la columna del vector que entra a la base y como

/ k Yk = B A entonces X" se expresa:X" = X -A k Yk B

(5)

Esta ecuacin (5) nos dice como cambia

XB

al aumentar X . Es

decir X" cambia a XB menos el incremento en la variable por el valor de la columna actualizada.

69

Por otro lado, al sustituir

Xk

+Akek

se obtiene:

= C 13 l b - JER

( Z - C )L 7 .1 .1 1 -C )e A kk

( 2

-

1

C

)U

( Z J E R1

C )e j kA

E R2

=Z-Z(Z J E R1

J

= Z - (Z -C C k k k

Asi obtenemos la ecuacin que nos dice como se modifica Z al aumentar X . Z = Z - (2 k - C )A k k

(6)

Fijndonos en (6) se ve que es conveniente aumentar A tanto como sea posible. Sin embargo, cuando A crece las variables bsicas se modifican de acuerdo con la ecuacin (5). El incremento A est limitado como sigue:

Que las variables bsicas actualizadas cumplan con:L - = X-

B

X = B

U"

B

y que la variable que entre a la base cumpla con: 3) X kU

k

70

Primer caso: Sea D 1 el valor de A k para el cual una variable bsica alcanza = X" =X- A Y B k k se obtiene:

su cota inferior. Recordando que L

AYk 5 X- Lk B

B

es decir, A Y k1

k 1

XB1

L

B1

paraBi -

1

= 1,2,...,m

X > O entonces A s

L

Si Y

B1

Al igual que en el mtodo simplex normal, tomamos a D como: {- L X 81 81 Yk

D 1 = min15 15 m

Y

k1

X > O

r LBr

-

si Y

k

> O (7)

1

Ahora, si

Yks1

O

para toda

1,

entonces A puede crecer= m.

arbitrariamente sin alterar la desigualdad y por lo tanto D i

Segundo caso:

Sea D

2

el valor de Ak para el cual una variable bsica alcanzaS

su cota superior. Dado X" = X - A Yk B B k- Yk a

U

B

se tiene que:

k

U - XB

Si Yk < O entonces Ak1

U - X 1 B1

; de manera similar tomamos a D

8Yk i

2

D = min2 1= 1S m

U - X 81 81_yk 1

1

Y

k1

U - X Oyk

D

2

= min1= 1=

m

U

8 1 B1

- X

:

y k1

}

U

- X B r Br -Yk

si Y k < O

1

75

Si M= M

2X - L B1 131

D = min 1 1= 1= m { D = min 2 1= 1= m D = U 3 kSi A = w - LU

-Y1B1 -

yk c o 1

_ r

X L

Br

si y k c 0

ykU -

X

B1

yk 1

Y

k 1

> o

Br -Y r

X

Br

Si Y

k

>O

k

k

la solucin es no acotada.

f) Z y X B se acualizan de acuerdo a las ecuaciones: a) siM=M

X =X - A

B

B

k

Yk

y

)A 2 = z cz Ck k X = U k k

si

A

k

= D X k

3

entonces k + A k

si no

= L

L si A=D r k 1y

X =

1 U rb) Si M=M 13 2 k

si A = D k 2

X" =X +A Yk y Z=Z+ (Z -C )A

k

k k

si

A

k

= D k

entonces 3 = U k -A k

X = L k k

si no X

L si A = D r / k yX= r U

r

si A = D k 2

Si A = D

3

entonces no hay cambio de base, pero X cambia de 2 o de R 2 a R1 .

regin de R1 a R

SiA =D oA =D entonces X sale de la base y X entra a ella. k k 2 1 Se actualiza B si es necesario i) Ir al paso a)

76

Enseguida mostraremos

su

implementacin con un ejemplo

pequeo, pues el objetivo es ilustrar como se trabaja con las cotas de las variables (cuando no hay cambio de base). De hecho esto se da en la iteracin 0, en la iteracin 1 se cambia de base y en la iteracin 2 se sabe que se est en el ptimo.

Ejemplo.- Min Z = -X - 2X2 2 s. a. X1

+ X2 1

+ X =3

5 = 7

2X con

+X2s X s 31

+X4

s X s 4 2 S X S 53

s X

4

S

7

Iteracin 0 Inicialmente tenemos X ,7

= E X = XN1 [ X1 1

=

0

0 ] = 1 1

X9 =

)1341 =

C

t

= [ 0,01

C

t

[ 1 1= [-1,-2] N1=

N 1

2 1

Resolver YB = C

tB

Y = I (0,0) = [0,01 Clculo de Z - C .1 .1 YN - C tN1

1 1= [ 0,01

1

- I-1,-2) = (1,21 2 [ 1

c) M = M = 2

que corresponde a X2 2

la cual podr entrar a la base.

77

d) Actualizacin de A Y 2 = B -1

2

e) Clculo de A

2

D = min D03

7 O } - 0 510, ' 1 1

-

5

2

D = 4 - 0 = 43

A = D = 42 3

f) Actualizacin de X y Z. 1 X = [7 ] - 4 [ 1 5 1

I =

3

I

Z = 0 - 4(2) = -8t.

g) No hay cambio de base y X2 pasa a N2 es decir, X2 = 4

Iteracin 1 X

XNI

[143]=[

= [X

1]

X

= [X 2 N2

1C

B

= =

[10

0

=I[ 12

1

C

t

=

[0,0]

t C = [-1] N =N1 1

I 2

t132

[-2]

N = 1

Resolver YB = C

t

Y = I [0,0] = [0,0] Clculo de Z - C J YN - C tN1

1= 10,0]- [ - 1] = 111

1

2

YN

2

- C

N2

=[0,04

1 - 1-21 = [2]

78

M = M = 1 que corresponde a X1

1

la cual podr entrar a la base.

Actualizacin de Al Y 1 =B 1 [ 1 ]2

1 { 2

e) Clculo de A DD D

1

= min{=w

1 - 3 1 O 2O

1

2

3

= 3 - 0 = 3 = D1

A

1

=1

Actualizacin de X X =

y Z. 1j - 1[ 2

= 1

[ 1 ]

Z = -8 - 1(1) = -9 X1

entra a la base y X

3

pasa a N

h) Actualizacin de B =

0 I 1

y

B-1 =

[ 1 O I -2 1

2

[2

Iteracin 21

[=

1-2

O1

X =

X

= [X ] X [X ] NI 3 112 = 2

B

[ 11 ] 1

C = [-1,0]

C

NI

= [ O] N = 1

t

C

0

N 2

= [ - 2]

N22

1

79

Resolver YB = C [ Y =

t 10 -2 1

Clculo de Z - C

J[

YN - C1

tN1

1 O]

= [ - 1,01

YN - C2

tN2

[ 1 1 = [_M]

1

c) Ya se est en el ptimo y la solucin es: X =1 1 X =421,1

X =03

X =14

con Z = -9.

Si se desea tener ms ejemplos, plantee un problema y utilize el programa dado e el apndice B.

r

80

7 IT 7APENDICE ARARA MI GRAIO)EZA

BIBLIOTECA171.SABER Di /AH HIJOS

DE CIENCP " YNAT::11:3

TEORIA DE PROGRAMACION LINEAL

En este apndice se presenta la teoria de programacin lineal necesaria para comprender el algoritmo del Mtodo Simplex y a la vez se sientan las bases para el Mtodo Simplex Revisado. Empezaremos sealando las caracteristicas que tienen los problemas de programacion lineal (PPL), dando los conceptos bsicos. Despus pasaremos a ver los principales resultados de la teoria de convexidad y puntos extremos, los resultados fundamentales de programacin lineal, resultados de sistemas de ecuaciones lineales (SEL) y por ltimo veremos el algoritmo del mtodo simplex, la justificacin de sus pasos y las condiciones de ptimalidad.

A.1 INTRODUCCION

Enseguida presentamos parte de la notacin, asi como las diferentes formas en que se pueden presentar los PPL y la clasificacin de las soluciones.

Los problemas de programacin lineal se representan por el modelo siguiente:

11n

Maximizar (o Minimizar) Sujeta a las condiciones: ax+ax11 1 12 2

F(x ,x 1 2

x ) .CX+CX+...+CX1 1 2 2

nn

+...+ a x (5)(a)(=) b

1n n

1

a x +a x21 1

22 2

+...+ a x (=)(=)(=) b 2n n 2

a x +a xml 1

m2 2

+...+ a1 2

mn n

x

(s)(a)(=) b

Con x ,x

xn > O

A la (C 1 ,C C 2

funcin F

se

le llama "funcin

objetivo", al

vector

) t se le llama "vector de costos",Xn se les llama "variables de decisin"

a las variables

X ,X 1 2

a a ...a11 12

ln

A la matriz[ ml m2... mn

a a ' a

se le llama "matriz de restricciones" y a sus coeficientes se les llama "coeficientes tecnologicos", al vector (b 1 ,b2 b ) t se le

llama "vector de requerimientos". Ahora considerando a los vectores como matrices de nxi lo anterior lo podemos representar en la forma matricial de la siguiente manera: Min (max) f(X) = CtX sujeta a AX ( s )( a )( = ) s b X > O. Donde A es la matriz de restricciones, C el es vector de costos, b es el vector de requerimientos y f(X) es la funcin objetivo.

111

En este problema se trata se encontrar un vector X que cumpla con las restricciones y que a su vez minimice o maximice la funcin objetivo segn sea el caso.

Como Max f(X) = -Min (- f(X)) trataremos nicamente el caso de min Z=f(x). Definicin A.1.1: Un problema de programacin lineal se dice que est en su forma general cuando es expresado de la forma: t Min (o Max) Z = C X sujeta a AX = b X a O, bao Definicin A.1.2: A un PPL escrito de la forma t Max Z = C X sujeta a AX b con X a O se dice que est en forma estndar. Definicin A.1.3: Cuando un PPL est escrito como t Min Z = C X sujeta a AX a b con X a O se dice que est en forma cannica. Observacin : s el PPL est en su forma estandar o canonica no se pide que el vector b a O.

La siguiente definicin nos sirve para transformar un PPL que est en cualquiera de las tres formas en un PPL a la forma general.

112

Definicin A.1.4: Por una variable de holgura entenderemos a una variable que se agregue a una desigualdad para transformarla en

igualdad, estas variables pueden ser positivas o negativas y esto solo depende del signo con el que se agregue la variable.

Ejemplo A.1.5: Considere las siguientes desigualdades: (1) 3X + Y - 2Z 54

Esta puede ser transformada en: 3X + Y - 2Z+ W = 4. Donde W = 4 -3X - Y + 22, W es variable de holgura positiva.

En el caso de que la desigualdad sea de la forma: 11 (2) Se puede transformar en:3X + Y - 2Z - W = 4

3X + Y - 2Z = 4

Donde W = -4 + 3X + Y - 2Z, W es variable de holgura negativa.

La representacin en la forma general es muy importante ya que los paquetes computacionales para resolver un PPL manejan internamente esta forma, esto se debe a que un PPL expresado en la forma general se reduce a resolver sistemas de ecuaciones, tema que veremos mas adelante.

Ahora se mostrar que dado cualquier PPL se puede llevar a laforma general utilizando las siguientes reglas:

113

REGLAS PARA LLEVAR UN PPL A SU FORMA GENERAL

Si en alguna multiplica por la desigualdad forma: a

restriccin aparece un

trmino

b < O , se

(-1) teniendo cuidado de cuidar el sentido de . Ejemplo si tenemos una restriccin de la

X +a X +...+a X{ =,=,5 } b 11 1 12 2 In n 1

con b< O 1

multiplicando por (-1) la restriccin nos queda -a X -a X -...-a X { 5 , = ,=. 11 1 12 2 In n-b

1

Si tenemos alguna restriccin de la forma :

aX+aX+...+a X 5 b in n 11 1 12

con b = O 2 1

seagregaunavariabledeholgurapositivaX. transformarla en la siguiente: a X+a X +...+a X + X 11 1 12 2 in n n+1 =b

n+I

=0 para

1

3.- Si tenemos una restriccin de la forma:

a

Ji 1

X-FaX+...+aX=b J2 2 jn n

con b = 0

agregamos una

variable de

holgura

negativa

Xn+y=

O para

transformarla en: a X+a X +...+ a X -X =b J1 1 j2 2 jn n n+J

114

Ejemplo A.1.6: Considere el sig. PPL MAX F = -5X + 8Y sujeto a 5X + 2Y = 3

X - 4Y + Z s -4 2X + 3Y X,Y k o = 6

Transformado a la forma general queda: Min F = 5X - 8Y sujeto a 5X + 2Y -X + 4Y - Z - W2X + 3Y

= 3 =

4

- H = 6 H

con X,Y,Z,W y

k O.

Ejemplo A.1.7: Considere el sig. PPL Max F = -2X + sujeto a6Y

3X - 4Y = - 7 4X + 5Y 5 -3X - Y

9

a 2

con X,Y

o

Transformado a la forma general queda:

Min F = 2X - 6Y sujeto a-3X

+ 4Y

= 7 = 9 - W = 2

4X + 5Y + Z -3X - Y

con X,Y,Z y W = O

115

Observacin : Al agregar variables de holgura llevamos nuestro problema a espacios de dimensin mayor.

A.2 CONVEXIDAD Y PUNTOS EXTREMOS

En esta seccin presentaremos un resumen

de la teoria de del Mtodo

convexidad utilizada para justificar el algoritmo

Simplex. Uno de los aspectos ms importantes de dicha teoria es que la regin factible K es un conjunto convexo. Se definen los puntos extremos, los cuales vienen a ser los vrtices del conjunto convexo K y que a su vez estn intimamente relacionados con las posibles soluciones de los PPL.

Definicin A.2.1: Sea A 4 R n , se dice que A es convexo si para dos vectores cualesquiera x 1 y x 2 que pertenecen a A, el vector:

X = ax + (1-a)x 1 2 tambin pertenece a A para aE

(0,1).

En otras palabras en un conjunto convexo el segmento de recta que une dos puntos cualesquiera del conjunto pertenece tambin al mismo conjunto. En el siguiente dibujo veremos que X = ax + (1-a)x el segmento que une a x l y x2. 2 est en

X = x

X2

N,

2 2

+ a(x + ax 1

1

- x2 1- CCX 2

dX \

12 )

= X

= ax + (1-a)x

2.

116

Ejemplos de conjuntos convexos:

a)

b)

e)

Ejemplos de conjuntos no convexos:

a)

b)

Proposicin A.2.2: La interseccin finita de conjuntos convexos es tambin un cojunto convexo. Para su demostracin, ver la referencia [81 Observacin Los siguientes conjuntos son convexos. C = {x e Rn C= {x Rn C = {x e Fr C = c Rn1

Ax = b Ax s b } Ax b} Ax b }.Definicin A.2.3:Consideremos el PPL en su forma general. Al conjunto K = {x E Wi l x { factible.Ax =b, x a- 0 se le llama regin117Observacines: a) Como conclucin de lo anterior la regin factible (K) es un conjunto convexo. b) Si la regin factible es no acotada el PPL puede o no tener ptimo.El siguiente dibujo muestra una regin factible no acotada de un PPL.Como la funcin objetivo es lineal tenemos que: Z = Z =1 2= Z o bien Z> Z12=nsegn sea el caso el PPL puede o no tener ptimo.Proposicin A.2.4: Si la regin factible es no vacia y acotada entonces el PPL tiene solucin.Para la demostracin de esta proposicin consultar la referencia [6]Ahora severnlos conceptos de puntos extremos Y cuya relacin es fundamental para lacombinaciones convexas, teora de la Programacin Lineal.118Definicin A.2.5: Sea A c R n un conjunto convexo, diremos que X es un punto extremo o vrtice de A si no existen X 1 , X2 E A y t E(0,1) tales que X = tX 1 + ( 1-t)X2.Observacin: Lo puntos extremos siempre estn en la frontera de los conjuntos convexos, ya que si un punto esta en el interior del conjunto convexo se puede expresar como combinacin lineal de otros dos puntos del conjunto.DefinicinA.2.6:Sean X =hX1 1X ,X 1 22 2ER"diremosque+hX +...+hXm mconh=01 = 1,2 , es una combinacin convexa demyh +h +...+h 1 1 2= X ,X1 2a.De la teoria de conjuntos convexos resultado: Si A c11 11se tieneel siguienteconvexo y x E A, entonces x se puede expresarcomo una combinacin convexa de los puntos extremos de A. Si se desea su demostracin ver referencias [5],[8].A.3 RESULTADOS FUNDAMENTALES DE LA PROGRAMACION LINEALEn estaseccin se presentan los conceptos necesarios paraentender el teorema fundamental de la programacin lineal as como el teorema que establece la factible bsica y los puntos equivalencia entre extremos, por ltimo una solucin se ve que elptimo de un PPL se encuentra en los puntos extremos de la regin factible K.BIBLIOTECAaFIARA MI DE /Al HERIR SABER GRAhliatZA119DE CIENO! S -. :TAS Y NAT;;;;;;_,JPara demostrar los resultados requerimos de algunas definiciones previas.Definicin A.3.1: Cosideremos el PPL en su forma general.1) XE K es una solucin factible bsica si contiene alo ms m componentes positivas X E K es una solucin factible ptima si minimiza a la funcin objetivo. XEK es una solucin bsica no-degenerada si tieneexctamente m componentes positivas.Definicin A.3.2: Sean A l , A2 An n vectores en R m , se dice que son linealmente independientes (LI) siimplica que a l = O para 1=1,2,..,n1=1Si existe al menos un a distinto de cero se dice que son Linealmente Dependientes (1...D). El rango de una matriz es el nmero mximo de renglones o columnas LI.Los siguientes resultados se necesitarn para la demostracin del teorema fundamental de la programacin lineal. Dichos resultados se pueden consultar en [6].120Sean A 1=1,2,...m vectores columna en si nRmm entonces Al,A2,...,An son (LD) donde A l e AX = b1 2RmEl sistemapuede tener un nmero infinito desoluciones solo si A , A ,...,A n son LD, donde:2= [ A l A ... An. .n c) Si el sistema AX = b tiene solucin y A l , A2 ,...Ason LDentonces tiene un nmero infinito de soluciones. e) Si A e M , existenmxna lo sumoCnsoluciones bsicasfactibles no degeneradas.El siguiente teorema es de suma importancia dentro de la teoria de P.L. ya que establece la relacin que guarda unasolucin ptima con una solucin bsica ptima y a travz de su demostracin se aprende bsicas. a construir las soluiones factiblesTeorema A.3.3 (Fundamental de la Programacin Lineal) Si existe una solucin factible, enton