Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


PROGRAMACION LINEAL 2, Apuntes de Matemáticas

Asignatura: MATEMATICAS, Profesor: , Carrera: Ingeniero Técnico Agrícola, especialidad en Explotaciones Agropecuarias, Universidad: UniZar

Tipo: Apuntes

Antes del 2010

Subido el 08/10/2008

gemma-632
gemma-632 🇪🇸

4

(1)

10 documentos

1 / 30

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Programación Lineal para la Ingeniería Técnica
31
6.1. HIPÓTESIS PREVIAS
Hemos visto una forma gráfica de resolver problemas de Programación Lineal,
ahora bien, como ya hemos indicado, si el número de variables es estrictamente
mayor que 3, se complica, de modo que resulta imposible la resolución por este
procedimiento. Se hace, pues, necesario otro método para resolver estos
problemas, ya que en la realidad el número de variables que aparecen es muy
elevado.
El método básico para resolver problemas de Programación Lineal fue
desarrollado por G. B. Dantzig en 1947 y es conocido con el nombre de Método del
Simplex. Los cálculos a realizar son muy sencillos, pero en problemas reales es
necesario hacerlo tantas veces que sería muy lento y tedioso, en ocasiones casi
imposible, realizarlos a mano”. Por ello es necesaria la utilización de un
ordenador que permita resolver problemas lineales en un número de variables y
restricciones tan grande como sea preciso. No obstante, es necesario entender los
métodos utilizados para aplicar a cada problema el más adecuado y realizar las
modificaciones precisas para lograr interpretar correctamente los resultados
obtenidos.
En principio, hacemos algunos supuestos básicos inherentes a la propia naturaleza
del problema (como proceso de producción), a los recursos o a las actividades
implícitas en el modelo lineal:
Optimización: se supone obviamente que hay una función objetivo,
definida adecuadamente, a optimizar. Usualmente, se maximiza un
beneficio y se minimiza un coste, un período de tiempo, etc.
Estabilidad: al menos una restricción tiene el correspondiente coeficiente
(disponibilidad de recursos) distinto de cero.
http://www.stanford.edu/group/SOL/dantzig.html/
Volver al bloque 1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e

Vista previa parcial del texto

¡Descarga PROGRAMACION LINEAL 2 y más Apuntes en PDF de Matemáticas solo en Docsity!

6.1. HIPÓTESIS PREVIAS

Hemos visto una forma gráfica de resolver problemas de Programación Lineal, ahora bien, como ya hemos indicado, si el número de variables es estrictamente mayor que 3, se complica, de modo que resulta imposible la resolución por este procedimiento. Se hace, pues, necesario otro método para resolver estos problemas, ya que en la realidad el número de variables que aparecen es muy elevado.

El método básico para resolver problemas de Programación Lineal fue desarrollado por G. B. Dantzig en 1947 y es conocido con el nombre de Método del Simplex. Los cálculos a realizar son muy sencillos, pero en problemas reales es necesario hacerlo tantas veces que sería muy lento y tedioso, en ocasiones casi imposible, realizarlos “ a mano ”. Por ello es necesaria la utilización de un ordenador que permita resolver problemas lineales en un número de variables y restricciones tan grande como sea preciso. No obstante, es necesario entender los métodos utilizados para aplicar a cada problema el más adecuado y realizar las modificaciones precisas para lograr interpretar correctamente los resultados obtenidos.

En principio, hacemos algunos supuestos básicos inherentes a la propia naturaleza del problema (como proceso de producción), a los recursos o a las actividades implícitas en el modelo lineal:

  • Optimización: se supone obviamente que hay una función objetivo, definida adecuadamente, a optimizar. Usualmente, se maximiza un beneficio y se minimiza un coste, un período de tiempo, etc.
  • Estabilidad: al menos una restricción tiene el correspondiente coeficiente (disponibilidad de recursos) distinto de cero.
  • Finitud: se supone que hay únicamente un número finito de actividades y restricciones de modo que se puede buscar una solución.
  • Determinismo: todos los coeficientes c (^) j , aij , bi que incluye el modelo lineal se suponen constantes conocidas.
  • Continuidad: se supone que los recursos pueden ser utilizados, y las unidades producidas, en cantidades que están en unidades fraccionarias.
  • Homogeneidad: se supone que todas las unidades para un mismo recurso o actividad son las mismas.
  • Aditividad: las actividades se suponen aditivas en el sentido de que cuando se utilizan dos o más, su producción total es la suma de sus producciones individualizadas. No hay interacción entre las actividades.
  • Proporcionalidad: tanto los beneficios o costes ( c (^) j ) como los requerimientos ( (^) bi ) por unidad de actividad ( (^) a (^) ij ) se suponen constantes independientemente del nivel de actividad utilizado.

Los dos últimos supuestos implican la linealidad en las actividades, de aquí el nombre de Programación Lineal. Teniendo en cuenta estos principios básicos, intrínsecos al problema lineal, desarrollemos, antes de entrar en algoritmos formales, un ejemplo cuya solución nos servirá para entender el Método del Simplex que veremos más adelante.

6.2. EJEMPLO

Una empresa tiene posibilidad de fabricar tres tipos de piensos (^) P 1 , (^) P 2 y (^) P 3. Para

ello, son precisas dos fases, una primera (fase A) de fabricación en máquina, y una segunda (fase B) de mano de obra. Dispone de 120 horas mensuales en la fase A y de 260 en la B, y para su fabricación necesita para cada pienso las siguientes horas de en cada una de las dos fases:

1ª solución: la solución más cómoda y evidente consiste en no producir nada, es decir, x 1 (^) = x 2 = x 3 = 0 , con lo cual obtenemos que x 4 H = 120 , x 5 H = 260 (que se

denomina base). Con estos valores se tiene que Z = 0.

Ahora, de las dos ecuaciones disponibles ponemos x 4 H , x 5 H en función de x 1 (^) , x 2 , x 3 :

x 4 H^ = 120 − 0. 1 x 1 − 0. 25 x 2 x (^) 5 H^ = 260 − 0. 2 x 1 − 0. 3 x 2 − 0. 4 x 3 Z = 3 x 1 + 5 x 2 + 4 x 3

Para mejorar el valor de Z , bastará aumentar (^) x 1 , (^) x 2 ó x 3 , ya que todas ellas están

afectadas por coeficientes positivos en la función objetivo y a su vez toman siempre valores positivos. Ahora bien, puesto que de entre estos coeficientes, todos positivos, el mayor es el correspondiente a (^) x 2 , aumentar en esta variable será la estrategia que proporcione una mayor mejora para Z. Por otra parte, este aumento se verá limitado por el hecho de que la nueva solución ha de ser factible. Con este aumento en las restricciones:

x 4 H = 120 − 0. 1 x 1 − 0. 25 x 2 ≥ 0 ⇒ x 2 ≤ 0120. 25 = 480

  1. 6
  2. 3 260 0. 2 0. 3 0. 4 0 260 5 1 2 3 2 x H = − xxx ≥ ⇒ x ≤ =^ )

Luego, tomamos x 2 = min { 480 , 2600. 3 } = 480.

Ahora hacemos (^) x (^) 4^ H = 0 , ya que el mínimo ( (^) x 2 (^) = 480 ) corresponde a esta restricción. Se dice que (^) x 4 H = 0 sale de la base y (^) x 2 (^) ≠ 0 entra en la base.

2ª solución: la nueva solución obtenida en el paso anterior es:

x 1 = x 3 = x 4 H = 0 x 2 = 480 x 5^ H = 260 − 0. 3 ⋅ 480 = 116 Z = 3 x 1 + 5 x 2 + 4 x 3 = 5 ⋅ 480 = 2400

Con esta solución hemos mejorado el valor de Z.

Escribimos nuevamente x 2 , x 5 H y Z en función de x 1 , x 3 y x 4 H :

x (^) 2 x^1 x^4 H 480 0. 4 x 1 4 x 4^ H

  1. 25

=^120 −^0.^1 − = − −

x (^) 5 H^ = 260 − 0. 2 x 1 − 0. 3 ( 480 − 0. 4 x 1 − 4 x 4 H ) − 0. 4 x 3 = 116 − 0. 08 x 1 − 0. 4 x 3 + 1. 2 x 4 H Z = 3 x 1 + 5 x 2 + 4 x 3 = 3 x 1 + 5 ( 480 − 0. 4 x 1 − 4 x 4 H^ ) + 4 x 3 = 2400 + x 1 + 4 x 3 − 20 x 4 H

Para mejorar Z aumentamos x 3 puesto que tiene mayor coeficiente. Este aumento, para que se mantenga la factibilidad, sólo se ve limitado por x 5 H :

x 5 H = 116 − 0. 08 x 1 − 0. 4 x 3 + 1. 2 x 4 H ≥ 0 ⇒ x 3 ≤^1160. 4 = 290

Así, hacemos x (^) 5 H = 0 que sale de la base. Entra en la base x (^) 3 = 290.

3ª solución: x 1 = x 4 H^ = x 5 H = 0 x 2 = 480 x 3 = 290 Z = 2400 + x 1 + 4 x 3 − 20 x 4 H = 2400 + 4 ⋅ 290 = 3560

Expresamos nuevamente (^) x 2 y x 3 en función de (^) x 1 , (^) x 4 H y x 5 H , y también Z :

x (^) 2 = 480 − 0. 4 x 1 − 4 x^ H 4

x x xH xH x xH x^ H (^3 10). 4 4 5 290 0.^21342.^55

=^116 −^0.^08 +^1.^2 − = − + −

Z = 3 x 1 + 5 x 2 + 4 x 3 = 3 x 1 + 5 ( 480 − 0. 4 x 1 − 4 x 4 H^ ) + 4 ( 290 − 0. 2 x 1 + 3 x 4 H − 2. 5 x 5 H ) = = 3560 + 0. 2 x (^) 1 − 8 x 4 H^ − 10 x 5^ H

En consecuencia, ésta es la mejor solución y, por tanto, óptima:

x 1 * = 1200 , x 2 * = 0 , x * 3 = 50 , Z *^ = 3800

Vamos a resumir y tabular las distintas soluciones:

Solución 1: x 1 (^) = x 2 = x 3 = 0 , (^) x (^) 4^ H = 120 , x (^) 5 H = 260 , Z = 0

  1. 1 x 1 + 0. 25 x 2 + x 4 H = 120
  2. 2 x 1 + 0. 3 x 2 + 0. 4 x 3 + x 5 H = 260 Z = 3 x 1 + 5 x 2 + 4 x 3

x 1 x 2 x^ 3 x 4 H x 5^ H x 4^ H 120 0.1 0.25 0 1 0 x 5^ H 260 0.2 0.3 0.4 0 1 0 3 5 4 0 0

Entra x 2 y sale x 4 H ( min { 120 0. 25 , 2600. 3 } = 480 que corresponde a x 4 H ).

Solución 2: x 1 (^) = x 3 = x 4 H = 0 , (^) x 2 (^) = 480 , x (^) 5 H = 116 , Z = 2400

  1. 4 x 1 + x 2 + 4 x 4 H = 480
  2. 08 x 1 + 0. 4 x 3 − 1. 2 x 4 H^ + x 5 H = 116 Z = 2400 + x 1 + 4 x 3 − 20 x 4^ H

x 1 x 2 x 3^ x 4 H x 5^ H x 2 480 0.4 1 0 4 0 x 5^ H 116 0.08 0 0.4 -1.2 1 2400 1 0 4 -20 0

Entra x 3 y sale x 5 H ( min { 116 0. 4 } = 290 que corresponde a x 5 H ).

Solución 3: x 1 (^) = x 4 H^ = x 5 H = 0 , (^) x 2 (^) = 480 , x (^) 3 = 290 , Z = 3560

  1. 4 x 1 + x 2 + 4 x 4 H = 480
  2. 2 x 1 + x 3 − 3 x 4 H^ + 2. 5 x 5 H = 290 Z = 3560 + 0. 2 x 1 − 8 x 4 H^ − 10 x 5^ H

x 1 x 2 x^ 3 x 4 H x 5^ H x 2 480 0.4 1 0 4 0 x 3 (^) 290 0.2 0 1 -3 2. 3560 0.2 0 0 -8 -

Entra x 1 y sale x 2 ( min { 480 0. 4 , 2900. 2 } = 1200 que corresponde a x 2 ).

Solución 4 y óptima:

x 2 (^) = x 4 H^ = x 5 H = 0 , (^) x 1 (^) = 1200 , x 3 (^) = 50 , Z = 3800

x 1 + 2. 5 x 2 + 10 x 4 H = 1200 − 0. 5 x 2 + x 3 − 5 x 4 H^ + 2. 5 x 5 H = 50 Z = 3800 − 0. 5 x 2 − 10 x 4 H^ − 10 x 5^ H

x 1 x 2 x^ 3 x 4 H x 5^ H x 1 (^) 1200 1 2.5 0 10 0 x 3 (^) 50 0 -0.5 1 -5 2. 3800 0 -0.5 0 -10 -

que no podamos sacar de la base todas las variables artificiales, se concluirá que el problema no tiene solución.

En la práctica, y para facilitar el objetivo anterior, asociaremos a cada variable artificial (si estamos maximizando) un coste M de valor absoluto muy grande, que introduciremos restando en la función objetivo, con lo que aseguramos que el máximo se alcanzará cuando todas las variables artificiales valgan cero.

Ejemplo:

max (^) Z = x 1 − 2 x 2 max Z = x 1 − 2 x 2 − Mx 5 A s.a.: (^) x 1 (^) + x 2 ≥ 1 s.a.: x 1 + x 2 − x 3 H^ + x 5 A = 1 x 1 (^) + x 2 ≤ 2 x 1 + x 2 + x 4 H = 2 x 1 , x 2 ≥ 0 x 1 , x 2 , x 3 H^ , x 4 H , x 5^ A ≥ 0

Si en la primera restricción no introducimos una variable artificial, x 5 A , es decir, x 1 (^) + x 2 − x 3 H = 1 , e intentamos la solución trivial (no producir), tenemos:

x 1 (^) = x 2 = 0 , x 3 H = − 1 , (^) x 4^ H = 2

que no es factible, pues x 3 H < 0. Al introducir x 5 A , tendremos x 1 (^) + x 2 − x 3 H^ + x 5 A = 1 ,

con lo que la solución factible inicial sería:

x 1 (^) = x 2 = x 3 H = 0 , (^) x (^) 4^ H = 2 , x 5 A = 1

pudiendo así comenzar con las iteraciones precisas en el método del Simplex.

Analizaremos distintos casos para la obtención de una solución factible básica inicial en la aplicación del Algoritmo del Simplex. Antes hay que notar que no es estrictamente necesario aplicar alguno de los métodos siguientes, pudiendo encontrar una primera solución factible “ a ojo ”, si bien los métodos proporcionan mecanismos que siempre se pueden aplicar. Podemos considerar los algoritmos que veremos a continuación como diferentes versiones o variantes del método del Simplex.

7.1. VARIABLES DE HOLGURA

Es el caso más sencillo y se da siempre que tengamos como primera solución básica la proporcionada por las variables de holgura.

La formulación del problema debe incluir solamente restricciones del tipo (^) ≤, siempre que los coeficientes de las disponibilidades sean no negativos:

max Z = c 1 x 1 +K+ cn xn s.a.: a 11 (^) x 1 + K+ a 1 n xnb 1

am (^) 1 x 1 + K+ amnxnb m x (^) i ≥ 0 , i = 1 ,K, n

Introduciendo las variables de holgura para expresar la forma estándar:

max Z = c 1 x 1 +K+ cn xn s.a.: a 11 (^) x 1 + K+ a 1 n xn + xnH + 1 = b 1

am (^) 1 x 1 + K+ amnxn + xnH + m = b m x (^) i ≥ 0 , i = 1 ,K, n , x (^) nH + i ≥ 0 , i = 1 ,K, m

Podemos representar este problema en una tabla como la que sigue:

x 1 x 2 ... x^ n x^ nH + 1 x^ Hn + 2 ... x^ Hn + m x (^) n^ H + 1 b 1 a 11 a 12 (^) ... a 1 n 1 0 ... 0 xn H + 2 b 2 a (^) 21 a 22 (^) ... a 2 n 0 1 ... 0 M M M M M M M M M M xn H + m b (^) m a (^) m 1 a (^) m 2 ... amn (^) 0 0 ... 1 Z c 1^ c 2^ ... c^ n 0 0 ... 0

En lo que sigue utilizaremos la notación de esta tabla para representar los valores que en cada iteración (es decir, en cada una de las sucesivas tablas que

Seleccionamos el máximo de los productos de los mínimos anteriores para cada columna ( jJ ) por sus correspondientes coeficientes c (^) j. Sea sJ la columna que da el máximo. Esto es:

= cjJ a c max b a

b j rj

r rs s j

r

Entonces, xs entra en la base y sale de ella la variable correspondiente a la fila r -ésima.

Paso 2:

Hacer en la tabla las transformaciones necesarias para que el vector columna correspondiente a la variable que entra en la base tenga un 1 en el lugar r -ésimo y el resto ceros.

Paso 3:

Volver al paso 1.

Al elemento que ocupa el lugar r -ésimo de la columna s , es decir a (^) rs , se le denomina elemento pivote , y a la operación de transformar la columna del pivote en otra que tenga un 1 en el lugar del elemento pivote y cero en el resto se le conoce con el nombre de operación de pivotar. Para efectuar esta operación podemos utilizar el Método de Eliminación de Gauss.

Nota:

Si para algún (^) jJ se tiene que a (^) ij ≤ 0 , ∀ i , el algoritmo acaba en el paso 2

diciendo que la solución es no acotada (infinito), puesto que podríamos mejorar el valor de la función objetivo introduciendo una variable sin necesidad de que ninguna salga de la base.

Ejemplo:

max Z = 2 x 1 + 3 x 2 + x 3 − 2 x 4 s.a.: x 1 + 2 x 2 + x 3 + x 4 ≤ 6 2 x 1 + x 2 + 4 x 3 + 5 x 4 ≤ 10 xi ≥ 0 , i = 1 , 2 , 3 , 4

Introducimos variables de holgura xH 5 y x 6 H para pasar a forma estándar:

max (^) Z = 2 x 1 + 3 x 2 + x 3 − 2 x 4 s.a.: x 1 + 2 x 2 + x 3 + x 4 + x 5 H = 6 2 x 1 + x 2 + 4 x 3 + 5 x 4 + x 6 H = 10 xi ≥ 0 , i = 1 , 2 , 3 , 4 , x 5 H^ , x 6 H ≥ 0

x 1 x 2 x^ 3 x 4 xH 5^ x 6^ H x 5^ H 6 1 2 1 1 1 0 x 6^ H 10 2 1 4 5 0 1 0 2 3 1 -2 0 0

J = {1, 2, 3}, puesto que (^) c 1 (^) = 2 > 0 , (^) c 2 (^) = 3 > 0 , c (^) 3 = 1 > 0.

j = 1 ⇒ min { 6 1 , 102 } = 102 = 5 ⇒ i = 2

j = 2 ⇒ min^ { 6 2 , 101 }^ = 62 = 3 ⇒ i = 1

j = 3 ⇒ min { 61 , 104 } = 104 = 2. 5 ⇒ i = 2

Calculamos max { 5 ⋅ 2 , 3 ⋅ 3 , 2. 5 ⋅ 1 } = 10 que corresponde a i = 2, j = 1, por lo que pivotamos sobre el elemento (^) a 21 , entrando en la base la variable (^) x 1 y saliendo de ella la variable (^) x 6 H.

La nueva tabla para realizar la siguiente iteración quedará:

7.2. VARIABLES ARTIFICIALES Y COSTES MARGINALES

Consideremos el siguiente ejemplo:

max (^) Z = 5 x 1 + 2 x 2 s.a.: (^6) x 1 + x 2 ≥ 6 4 x 1 + 3 x 2 ≥ 12 x 1 + 2 x 2 ≥ 4 x 1 , x 2 ≥ 0

Pondremos este problema en forma estándar introduciendo dos tipos de variables en las restricciones lineales de desigualdad:

Variables de holgura: (^) x 3 H , (^) x 4 H y (^) xH 5

Variables artificiales: xA 6 , x 7 A y x 8 A.

Se obtiene el siguiente problema:

max Z = 5 x 1 + 2 x 2 − Mx 6 A^ − MxA 7 − Mx 8 A s.a.: 6 x 1 + x 2 − x 3 H^ + x 6 A = 6 4 x 1 + 3 x 2 − x 4 H^ + x 7 A = 12 x 1 + 2 x 2 − x 5 H^ + x 8 A = 4 x 1 , x 2 , x 3 H^ , x 4 H , x 5 H , x 6 A , x 7 A , x 8 A ≥ 0

La tabla correspondiente a este problema es la siguiente:

x 1 x 2 x 3 H x 4^ H^ x 5^ H^ x 6^ A^ x 7^ A^ x 8^ A x 6^ A 6 6 1 -1 0 0 1 0 0 x 7^ A 12 4 3 0 -1 0 0 1 0 x 8^ A 4 1 2 0 0 -1 0 0 1 5 2 0 0 0 -M -M -M

La solución factible básica inicial es:

x 1 = x 2 = x 3 H^ = x 4 H = x 5 H = 0 , ( x 6 A^ , x 7 A , x 8 A ) =( 6 , 12 , 4 )

Como se observa, los costes en la función objetivo de esta base no son nulos, por lo que no podemos aplicar sin más el algoritmo que hemos desarrollado hasta ahora; será preciso introducir la siguiente definición:

Definición:

Llamaremos costes marginales a la diferencia c k = ck − zk , donde ∑

= k (^) j B j jk z ca ,

siendo B el conjunto formado por los índices de las variables básicas.

Es decir, zk es el producto escalar de los elementos de la columna de los costes en

la función objetivo de la base por los elementos de cada columna k -ésima de la matriz de coeficientes A.

Para hacer esta operación en la práctica, en la tabla anterior añadimos a la derecha la columna correspondiente a los costes en la función objetivo de la base y una última fila con el resultado obtenido para los costes marginales.

x 1 x 2 xH 3 x^ H 4 x 5^ H x^ A 6 x 7^ A x 8^ A x 6^ A 6 6 1 -1 0 0 1 0 0 -M x 7^ A 12 4 3 0 -1 0 0 1 0 -M x 8^ A 4 1 2 0 0 -1 0 0 1 -M 5 2 0 0 0 -M -M -M 11 M + 5 6 M + 2 -M -M -M 0 0 0

Continuando como en el caso anterior, considerando la última columna como el valor actual de los costes en la función objetivo, tenemos que:

x 1 x 2 x 3 H x 4^ H x^ H 5 x 1 4 1 2 0 0 - x 3^ H 18 0 11 1 0 - x 4^ H 4 0 5 0 1 - 0 -8 0 0 5

Este problema no posee solución acotada, ya que la variable que únicamente puede entrar en la base, x 5 H , posee todos los coeficientes de su columna correspondiente menores o iguales que cero.

Notamos que este problema podría haberse resuelto por el método de resolución gráfica, sin necesidad de pasar a la formulación estándar ni aplicar el algoritmo del Simplex.

En general, lo que logramos con la introducción de los costes marginales en la primera tabla es anular los costes de las variables básicas. Además, este caso no es más que la generalización del anterior: si únicamente es preciso añadir variables de holgura, para éstas los correspondientes z (^) k son cero y, por tanto, c (^) k = ck , esto es,

los costes marginales coinciden con los costes en la función objetivo.

El algoritmo que utilizaremos en este caso es similar al anterior, sustituyendo (^) cj

por c (^) j. En este caso, la distribución de los datos del problema en la tabla será:

A B C F

D

E

A: base actual ( x (^) j ) B: valor de las variables básicas actuales ( (^) bi ) C: matriz de los coeficientes en las restricciones ( a (^) ij ), que se modifican sucesivamente al pivotar. D: costes iniciales de todas las variables en la función objetivo ( c (^) j ) E: costes marginales para cada iteración ( (^) c (^) j ) F: columna auxiliar con los costes iniciales en la función objetivo de las variables básicas actuales.

Algoritmo 2.

Paso 0:

Anular los costes de las variables básicas, o lo que es lo mismo, calcular los costes marginales, c (^) kzk , ∀ k. Si todo c (^) k = ckzk ≤ 0 , estamos en el óptimo. PARAR. Si algún c (^) k = ckzk > 0 , ir al paso 1.

Paso 1:

Sea (^) J = { (^) jcj > 0 }, que será distinto del vacío, ya que en otro caso hubiera terminado el algoritmo en el paso 0.

jJ sea i (fila) tal que aij > 0. Calculamos los cocientes ij

i a

b (^) y elegimos el

mínimo de ellos. Sea:



 

 

 

 = ∋ ij > 0 ij

i rj i

r (^) a a min b a

b

Seleccionamos el máximo de los productos de los mínimos anteriores para cada columna ( (^) jJ ) por sus correspondientes costes marginales (^) c j. Sea sJ la columna que da el máximo. Esto es: