Documente Academic
Documente Profesional
Documente Cultură
-1-
NRO TAREA 1 Asistencia 2 Participaciones Aprender y resolver problemas con 3 Solver de Excel Aprender y resolver problemas con 4 WINQSB Aprender y resolver problemas con 5 Tora Aprender y manejar Excel para resolver 6 problemas Aprender y resolver problemas con 7 POMS Aprender y resolver problemas con 8 Lindo 9 Dominar otro software como lingo
PUNTO S
Investigar en internet o el dv dado temas o videos 2 relacionados al curso Aplicacin del curso a casos 4 prcticos 23
GUIA DE PRACTICAS DE INVESTIGACION DE OPERACIONES 1 2013 Se utilizar el siguiente software para realizar las prcticas de investigacin de operaciones 1 EXCEL 2010 la herramienta solver WINQSB no funciona en Windows 7 64 bits ( usar mquina virtual) GLP para el mtodo grfico Lindo para programacin lineal no es compatible con Windows 7 de 64 bits POMS PRACTICA 1. MATRICES EN EXCEL Matrices .Una matriz es cualquier arreglo rectangular de nmeros Nota La frmula del ejemplo debe especificarse como frmula de matriz. Despus de copiar el ejemplo en una hoja de clculo en blanco, seleccione el rango A8:B9 comenzando por la celda de la frmula. Presione F2 y, a continuacin, CTRL+MAYS+ENTRAR. Si la frmula no se especifica como frmula de matriz, el resultado nico es 6. 1. Operaciones con matrices suma
-2-
a2:B3+ A5:B8
CTRL+MAYS+ENTRAR:
=INDICE($B$3:$F$8,I3,I4)
Funciones de arreglos SUMAR DOS MATRICES A+B Restar dos matrices A-B Multiplicar dos matrices Dividir dos matrices
USE formulas administrador de nombres Arreglo constante :arreglo solo en la memoria ={1;2} Usar administrador de nombres para crear arreglos constantes
-3-
={"a";"b"}
O podra ser
=INDICE(MATRIZ,1,2) =2
-4-
Encontrar el menor y en que lugar se encuentra en cada fila y columna de una matriz
-5-
Determinante de una matriz de 3 x 3 A continuacin vamos a ver una de las formas de obtener el determinante (mtodo cofactores). Algoritmo:
siendo n igual al nmero de columnas, y Aij es el resultado de eliminar la fila i y la columna j de la matriz original. Ejemplo de un determinante de segundo orden:
Operando el algoritmo anterior, y teniendo en cuenta que i es siempre 1, obtendremos : paso 1: a11=1. al eliminar la fila 1 y columna 1 de la la matriz obtenemos |4|, mientras en la suma i+j=2. paso 2: a12=3 mientras la eliminacin de la fila 1 y columna 2 da como resultado |6| y la suma i+j=3. es decir ...
-6-
y por tanto ... |A| = 1(5)-(-3)(-20)+(-2)(16) = -87 Cuando el determinante de una matriz resulta igual a 0 se dice que la matriz es no singular. Comprobando con Excel : =MDETERM(D5:F7) = -87 Inversa de una matriz MINVERSA(matriz) =MINVERSA(A1:B2)
1 3 2 4
-2 1 1.5 -0.5
FUNCION SUMAPRODUCTO : Multiplica los componentes correspondientes de las matrices suministradas y devuelve la suma de esos productos =SUMAPRODUCTO(A1:C3,A5:C7)
-7-
SOLUCION DE ECUACIONES CON EXCEL Resolviendo ecuaciones simultaneas Use funciones MINVERSA Y MMMULT
Celda A8: {=MINVERSA(A5:B6)} Celda b11={ =MMULT(A8:B9,C5:C6)} Ecuaciones simultaneas con 3 variables
EJERCICIOS 1. Encontrar los tres primeros elementos de una lista cuales son y que lugar ocupan en la lista
-8-
INDICE
3. Aplicar una frmula y explicar 4 Ejemplo de la funcin SI 5 Practique con otras funciones Se tiene las siguientes matrices calcule
-9-
Entonces
-10-
1 2 3 1
2 3 3 2
3 2 4 3
1 0 0 1
0 1 0 0
0 0 0 0
3 4 5 3
-11-
0 0 1 0 0 1 0 0
-1 -3 0 1 0 0 1 0
-4 -5 -5 4 7 0 0 1
0 0 0 0 0 0 0 0
1. 2. 3.
4.
5.
Instalar y activar Herramientas para anlisis y Solver. Haga clic en la pestaa Archivo. Haga clic en Opciones y, a continuacin, elija la categora Complementos. Casi al final del cuadro de dilogo Opciones de Excel, asegrese de que la opcin Complementos de Excel est seleccionada en el cuadro Administrar y luego haga clic en Ir. En el cuadro de dilogo Complementos, active las casillas de verificacin Herramientas para anlisis y Solver Add-in. A continuacin, haga clic en Aceptar. Si Excel muestra un mensaje que indica que no puede ejecutar este complemento y le pide que lo instale, haga clic en S para instalar los complementos. Nota En este caso, como est instalando dos complementos, Excel le pide dos veces que instale un complemento; una vez para Herramientas para anlisis y una vez para Solver. Observe que se ha agregado un grupo Anlisis en la pestaa Datos. Este grupo contiene botones de comando para Anlisis de datos y para Solver.
-12-
Ya est listo para comenzar a usar estos complementos. USO DE LA HERRAMIENTA ANALISIS DE DATOS Anlisis de datos Si no se muestra el cuadro de dilogo Anlisis de datos, haga clic en la herramienta que desee utilizar dentro de Herramientas de anlisis y, a continuacin, haga clic en Aceptar. (en Excel 2007 en opciones de Excel , luego complementos, luego herramientas de Anlisis) Escriba los datos apropiados y haga clic en las opciones del cuadro de dilogo correspondiente a la herramienta elegida y, a continuacin, haga clic en Aceptar. Para obtener una descripcin de cada herramienta e informacin sobre la forma de usar el cuadro de dilogo correspondiente a cada una de ellas, haga clic en un nombre de herramienta de la lista siguiente: Varianza Correlacin Covarianza Estadstica descriptiva Suavizacin exponencial Prueba t para varianzas de dos muestras Anlisis de Fourier Histograma Media mvil Generacin de nmeros aleatorios Jerarqua y percentil Regresin Muestreo Prueba t Prueba z
En la pestaa datos Abrir el Men Herramientas/Anlisis de datos /Regresin (si no lo tiene disponible use Opciones de Excel \Complementos \Herramientas para el Anlisis)
-13-
0 0 1 2 3 4 5 6 7 8 9
ESTADISTICA DESCRIPTIVA.- El MS-Excel , proporciona toda la estadstica descriptiva en un sola operacin. La obtencin de tales estadsticas , puede lograrse a travs de funciones estadsticas, pero una forma ms prctica y rpida de lograrlo es mediante el uso de mens Para efectuar el clculo de la estadstica descriptiva debe llamarse el men HERRAMIENTAS, dentro de la opcin ANALISIS DE DATOS, Despus de dar clic en la opcin ESTADISTICA DESCRIPTIVA Con la que se obtiene una caja de dialogo como la siguiente
-14-
GENERACION DE NUMEROS ALEATORIOS La herramienta de anlisis Generacin de nmeros aleatorios rellena un rango con nmeros aleatorios independientes extrados de una de varias distribuciones(existen 7 tipos de distribucin que son uniforme, Normal, Bernoulli, Binomial, Poisson, Frecuencia relativa y discreta) Problema1. Utilizando la distribucin discreta generar 100 nmeros aleatorio en 10columnas que representan los grupos de edades de persona de 0 a 120 aos que tiene la siguiente distribucin Per: estructura de edades, 2000-2020 Tabla1. Poblacin por grandes grupos de edad, 1993-2025 SGrupos de 1993 2000 2025 edad 0 - 14 37.0 33.4 23.6 15 - 64 58.4 61.8 67.8 65 y + 4.7 4.8 8.6
-15-
2 1 3 2 2 1 2 2 3 2
1 3 2 2 2 1 1 2 2 1
2 2 2 2 1 2 2 2 1 2
2 2 1 2 2 1 2 2 2 1
2 2 2 1 1 2 2 1 2 1
2 1 2 2 2 1 2 2 2 2
1 2 2 2 2 3 2 2 1 1
2 2 2 2 2 2 2 1 2 2
2 2 1 1 2 2 2 2 2 1
2 2 2 2 2 2 2 1 1 2
Clase 1 2 3 y mayor...
Frecuencia % acumulado Clase Frecuencia % acumulado 26 26.00% 2 70 70.00% 70 96.00% 1 26 96.00% 4 100.00% 3 4 100.00% 0 100.00% y mayor... 0 100.00%
-16-
COEFECIENTE DE CORRELACION ( encuentre coefeciente de correlacin entre las variables x, y del ejercicio pagina 51)
X X Y 1 0.90840294
Y 1
PUEDE TRABAJAR CON VARIAS VARIABLES EJEMPLO Encuentre la correlacin entre las variables X,Y,Z,F,G,H)
X 2 2 2 1 1 2 2 1 2 1 Y 2 1 2 2 2 1 2 2 2 2 Z 1 2 2 2 2 3 2 2 1 1 Y F 2 2 2 2 2 2 2 1 2 2 G 2 2 1 1 2 2 2 2 2 1 H 2 2 2 2 2 2 2 1 1 2
X X Y Z F G H
1 -0.4 1 0.07 -0.58333333 1 0.41 -0.16666667 -0.11111111 1 0.36 -0.32732684 0.14547859 -0.21821789 1 0.1 -0.25 0.25 0.66666667 -0.32732684
-17-
SUAVIZACION EXPONENCIAL La herramienta de anlisis Suavizacin exponencial predice un valor que est basado en el pronstico del perodo anterior, ajustado al error en ese pronstico anterior. La herramienta utiliza la constante de suavizacin a, cuya magnitud determina la exactitud con la que los pronsticos responden a los errores en el pronstico anterior.
#N/A 5 5.9 8.69 8.069 9.8069 9.08069 11.708069 AO X 2001 2002 2003 2004 2005 2006 2007 2008 SUMA PROM
yreal 1 2 3 4 5 6 7 5 6 9 8 10 9 12
Suavizacin exponencial
13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 1 2 3 4 5 6 7 8 9
Valor
Pronstico
yr
Punto de datos
-18-
MEDIA MOVIL La herramienta de anlisis Media mvil proyecta valores en el perodo de pronsticos, basndose en el valor promedio de la variable calculada durante un nmero especfico de perodos anteriores. Una media mvil proporciona informacin de tendencias que se vera enmascarada por una simple media de todos los datos histricos. Utilice esta herramienta para pronosticar ventas, inventario u otras tendencias. Todos los valores de pronstico estn basados en la siguiente frmula:
donde: N es el nmero de perodos anteriores que se incluyen en la media mvil Aj es el valor real en la hora j Fj es el valor pronosticado en la hora j
Media MovilError #N/A #N/A #N/A #N/A 6.66666667 #N/A 7.66666667 #N/A 9 1.478237188 9 0.608580619 10.3333333 1.122167215 10.6666667 0.981306763
Media mvil Valor 1 2 3 Punto de datos 4
JERARQUIA Y PERCENTIL
REGRESION La herramienta de anlisis Regresin efecta el anlisis de regresin lineal utilizando el mtodo de "mnimos cuadrados" para ajustar una lnea a un conjunto de observaciones. Puede utilizar esta herramienta para analizar la forma en que los valores de una o ms variables independientes afectan a una variable dependiente.
AO 2001 2002 2003 2004 2005 2006 2007 2008
Resumen Estadsticas de la regresin Coeficiente de0.90840294 correlacin mltiple Coeficiente de determinacin 0.8251959 R^2 R^2 ajustado 0.79606188 Error tpico 1.07275051 Observaciones 8 ANLISIS DE VARIANZA Grados de libertad Suma de cuadrados Promedio de los cuadrados F Valor crtico de F Regresin 1 32.5952381 32.5952381 28.3241379 0.00179169 Residuos 6 6.9047619 1.15079365 Total 7 39.5 Coeficientes Error tpico Estadstico t Probabilidad Inferior 95% Superior 95%Inferior 95.0% Superior 95.0% Intercepcin 4.78571429 0.83588046 5.72535728 0.00123156 2.74038848 6.83104009 2.74038848 6.83104009 Variable X 1 0.88095238 0.165529 5.32204265 0.00179169 0.47591752 1.28598724 0.47591752 1.28598724
X 1 2 3 4 5 6 7 8
Y 5 6 9 8 10 9 12 11
Anlisis de los residuales Observacin Pronstico para YResiduos Residuos estndares 1 5.66666667 -0.66666667 -0.67124862 2 6.54761905 -0.54761905 -0.5513828 3 7.42857143 1.57142857 1.58222889 4 8.30952381 -0.30952381 -0.31165115 5 9.19047619 0.80952381 0.81508761 6 10.0714286 -1.07142857 -1.07879243 7 10.952381 1.04761905 1.05481926 8 11.8333333 -0.83333333 -0.83906078
Resultados de datos de probabilidad Percentil 6.25 18.75 31.25 43.75 56.25 68.75 81.25 93.75 Y 5 6 8 9 9 10 11 12
-20-
MUESTREO La herramienta de anlisis Muestreo crea una muestra de poblacin tratando el rango de entrada como una poblacin. Cuando la poblacin sea demasiado grande para procesarla o para presentarla grficamente, puede utilizarse una muestra representativa. Adems, si cree que los datos de entrada son peridicos, puede crear una muestra que contenga nicamente los valores de una parte determinada de un ciclo. Por ejemplo, si el rango de entrada contiene cifras de ventas trimestrales, la muestra realizada con una tasa peridica de cuatro permitir colocar los valores del mismo trimestre en el rango de salida.
8 5 11
DETERMINACION DE LINEA DE LA ECUACION DE LA LINEA DE TENDENCIA Para encontrar la ecuacin de la recta de tendencia siga los siguientes pasos
AO 2001 2002 2003 2004 2005 2006 2007 2008 X 1 2 3 4 5 6 7 8 Y 5 6 9 8 10 9 12 11
12 10 8
6
4 2 0 0 2 4 6 8 10
-21-
2. Modifique el grafico
Y
14
12 10 8
6
4 2 0 0 1 2 3 4 5 6 7 8 9
-22-
Y
16 14 12 10
y = 1.7255x R = -0.13
8 6 4 2 0 0 1 2 3 4 5 6 7 8 9
Y
Lineal (Y)
El m adecuado de esos mtodos seria el de la polinmica de grado 6 con r=.91 2 RESOLUCION DE PROBLEMAS 3 Resolucin De Problemas (Buscar Objetivo) ( vea en las copias de Excel) TABLA DE DATOS ( de la ayuda de Microsoft excel 2007) ADMINITRADOR DE ESCENARIOS usada para proyectos
-23-
RESOLVER PROBLEMAS DE PROGRAMACION LINEAL EN FORMA GRAFICA Y USANDO PAQUETES HERRAMIENTA SOLVER 1. Introduccin La opcin Solver de EXCEL sirve para resolver problemas de optimizacin lineal y no lineal; tambin se pueden indicar restricciones enteras sobre las variables de decisin. Con Solver es posible resolver problemas que tengan hasta 200 variables de decisin, 100 restricciones explcitas y 400 simples (cotas superior e inferior o restricciones enteras sobre las variables de decisin [1]. Solver se puede usar para los siguientes casos a) Solucin de ecuaciones lineales de primer grado de n variables b) Obtencin de races de ecuaciones n grados c) Elaboracin de pronsticos, como predecir la demanda para periodos futuros usando los modelos de pronsticos como ajuste lineal , cuadrtico, polinmico, exponencial , promedio mviles y modelos de pronstico de series de tiempo, etc. d) Anlisis econmico de la produccin, determinando el punto de equilibrio o limite de rentabilidad , y la capacidad de la planta e) Planes de produccin cuyo objetivo es reducir el costo de plan de produccin f) Obtener la mezcla optima de productos a fabricar ( programacin lineal) g) Localizacin de plantas industriales con 1 o mas plantas h) Aplicaciones en redes como transporte, transbordo, encontrar la ruta mnima, el flujo mximo, el flujo mximo con red capacitada, PERT-CPM , etc i) En los modelos de inventario , como obtener el lote ptimo para minimizacin de costos totales de inventario. 2. Explicacin de Usos del Solver 2.1 Problema 1 Caso de Maximizacin ( mezcla ptima de productos a fabricar) Usando Solver analice y resuelva el siguiente problema . Un sastre fabrica trajes y vestidos, un traje usa 3 metros de tela de lana y 1 metros de tela de algodn y un vestido dos metros de cada tipo de tela. Un traje lo vende a 200 soles y el vestido a 150 soles . En el almacn tiene 500 metros de tela de lana y 400 de tela de algodn , cuantos trajes y vestidos debe hacer para maximizar sus ganancias Plan de Produccin de Confecciones Producto Traje Vestido Cantidad a producir 10 10 ganancia Margen de Contribucin 200 150 3500 Restricciones Total LI Lana 3 2 50 <= Algodn 1 2 30 <= Resumiendo funcin objetivo Max(z) = 200 X1+ 150 X2 3X1+X2 <= 500 2X1 + 2X2 <= 400 X1>=0 X2>=0 Siendo X1 Cantidad de trajes a fabricar X2 Cantidad de vestidos a fabricar Paso 1 preparar la hoja de calculo
-24-
Plan de Produccin de Confecciones X1 X2 Producto Traje Vestido Cantidad a producir 10 10 ganancia Margen de Contribucin 200 150 3500 Restricciones Total LI Disp Holgura Lana 3 2 50 <= 500 450 Algodn 1 2 30 <= 400 370
Paso 2 solucionar con solver de excel Si no esta instalado solver de excel siga los siguientes pasos 2.1Configure solver con opciones de excel\complementos\solver y luego aceptar Paso 2 solucionar con solver de excel Si no esta instalado solver de excel siga los siguientes pasos
-25-
2.1Configure solver con menu archivo \opciones \complementos\complementos de Excel luego ir y escoja solver y luego aceptar
Si usted tiene excel 2007 siga los pasos Si no esta instalado solver de excel siga los siguientes pasos 2.1Configure solver con opciones de excel\complementos\solver y luego aceptar
2.2 En complementos de Excel 2007 presionar en Ir marcar la herramienta deseada en este caso solver y poner aceptar
-26-
Presionar en el icono correspondiente y aparecera de dialogo lleno los datos de la siguiente manera
el siguiente
cuadro
-27-
Al presionar el boton aceptar se regresa al cuadro anterior y luego presione resolver y se tendr el siguiente cuadro , presione aceptar
-28-
La solucion es
X1=50 , x2=175 y ganancia 36250 Puede ver tambien los informes de Solver Vea excel aplicado a ingenieria parte 2 solver SOLUCION USANDO WINQSB (Tener dos sistemas operativos) Caso 1. problema de confecciones ( funciona en 32 bits)
-29-
-30-
GRAFICAR EL MODELO
-31-
-32-
-33-
boton para maximizar y minizar Botones para sombreado c=color g gris Resolver usando LINDO ( funciona en 32 bits)
Max 200 X1+ 150 X2 Subject to 3X1+ 2X2 <= 500 1X1 + 2X2 <= 400 X1>=0
-34-
-35-
F(0, 250) = 37500; S N F(166.666667, 0) = 33333.333333; N S F(50, 175) = 36250; S S F(0, 200) = 30000; S S
-36-
F(400, 0) = 80000; N S Max(50, 175) = 36250 Mn(0, 200) = 30000 Resolver usando Tora(ver en laboratorio) SOLUCION DE CONFECCIONES CON TORA
Presione enter
-37-
-38-
Usando iteraciones
-39-
-40-
-41-
-42-
ANEXO 2 METODO GRAFICO La siguiente aplicacin permite resolver los problemas por el mtodo grafico con n restricciones y muestra la solucin se puede cambiar las escalas ( mejore el programa)
Solucin del problema de los productos por el mtodo grfico
Problema de minimizacion
-43-
CODIGO DEL MODULO 1 Module Module2 Public mayor As Single Public rUnidadX As Single Public UnidadX As Single Public UnidadY As Single Public ValorMaximoX As Single Public ValorMaximoY As Single Public tipofo As Integer ' es maximizacion o miminimizacion Public dx As Single ' nro de decimales Public Zmaximo As Single Public maxx1 As Single, maxx2 As Single Public Const paso As Integer = 30 Public Const maxfilas As Integer = 5 Public M1(maxfilas, 2) As Single ' matriz de los coefecientes Public CJ(2) As Single ' coefecientes de la funcion objetiva Public B(maxfilas) As Single ' coefecientes de los recursos Public col As Integer Public fila As Integer Public filaIni As Integer = 1 Public numerador As Single Public denominador As Single Public dato As Single Public Grafico As Graphics Public ColorFondo As Color = Color.FromArgb(255, 255, 255) Public pen As Pen Public brocha As Brush Public ancho = 600, alto = 400 Public Cx As Integer = paso
-44-
Public Cy As Integer = alto Public ex As Single = 2 Public ey As Single = -2 Public r1 As Single, r2 As Single Public x1 As Single, x2 As Single, x1a As Single, x2a As Single, z As Single Public r(maxfilas) As Single, menor As Single Public resultado As String Public k As Integer End Module
CODIGO DEL MODULO 1
Module Module1 Public nrestric As Integer Public nva As Integer ' nro de variables artificiales Public nvar As Integer Function probarlineaMax(ByVal x1 As Single, ByVal y1 As Single, ByVal x2 As Single, ByVal y2 As Single _ , ByVal valor As Single, ByVal C() As Single, ByVal B() As Single, ByRef x As Single, ByRef y As Single) Dim xx As Single, yy As Single Dim factible As Integer = 0 Dim menor As Single = Zmaximo Dim fila1 As Integer xx = x1 yy = (valor - C(0) * xx) / C(1) While yy >= 0 menor = Zmaximo For fila1 = 0 To nrestric - 1 r(fila1) = B(fila1) - (xx * M1(fila1, 0) + yy * M1(fila1, 1)) If r(fila1) < menor Then menor = r(fila1) End If Next If menor >= 0 Then factible = 1 x = xx y = yy Exit While Else xx = xx + dx yy = (valor - C(0) * xx) / C(1) End If End While probarlineaMax = factible End Function
-45-
Function probarlineaMin(ByVal x1 As Single, ByVal y1 As Single, ByVal x2 As Single, ByVal y2 As Single _ , ByVal valor As Single, ByVal C() As Single, ByVal B() As Single, ByRef x As Single, ByRef y As Single) Dim xx As Single, yy As Single Dim factible As Integer = 0 Dim fila1 As Integer xx = x1 yy = (valor - C(0) * xx) / C(1) While yy >= 0 menor = Zmaximo For fila1 = 0 To nrestric - 1 r(fila1) = (xx * M1(fila1, 0) + yy * M1(fila1, 1)) - B(fila1) If r(fila1) < menor Then menor = r(fila1) End If Next If menor >= 0 Then factible = 1 x = xx y = yy Exit While Else xx = xx + dx yy = (valor - C(0) * xx) / C(1) End If End While probarlineaMin = factible End Function End Module
CODIGO DEL FORMULARIO 1
Option Explicit On Imports System.Drawing Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load tipofo = 1 ' maximizacion nrestric = 3 nvar = 2 Grafico = PictureBox1.CreateGraphics PictureBox1.Width = ancho + paso PictureBox1.Height = alto + paso PictureBox1.BackColor = ColorFondo pen = New Pen(Color.Blue, 2) dx = 0.1 End Sub
-46-
Private Sub PictureBox1_MouseMove(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseMove If e.Button = Windows.Forms.MouseButtons.Left Then Me.Text = "X = " & e.X & "Y= " & e.Y ListBox1.Items.Clear() x1 = (e.X - Cx) / ex x2 = -(Cy - e.Y) / ey z = CJ(0) * x1 + CJ(1) * x2 ListBox1.Items.Add("X1 " & x1) ListBox1.Items.Add("X2 " & x2) ListBox1.Items.Add("Z " & z) menor = 1000 Select Case tipofo Case 1 For fila = 0 To nrestric - 1 r(fila) = B(fila) - (x1 * M1(fila, 0) + x2 * M1(fila, 1)) ListBox1.Items.Add("r " & fila + 1 & " = " & r(fila)) If r(fila) < menor Then menor = r(fila) End If Next ListBox1.Items.Add("menor " & menor) If menor < 0 Then ListBox1.Items.Add("INFACTIBLE") Else ListBox1.Items.Add("FACTIBLE") End If Case 2 For fila = 0 To nrestric - 1 r(fila) = (x1 * M1(fila, 0) + x2 * M1(fila, 1)) - B(fila) ListBox1.Items.Add("r " & fila + 1 & " = " & r(fila)) If r(fila) < menor Then menor = r(fila) End If Next ListBox1.Items.Add("menor " & menor) If menor < 0 Then ListBox1.Items.Add("INFACTIBLE") Else ListBox1.Items.Add("FACTIBLE") End If End Select End If End Sub Sub ImprimirMatriz(ByRef A(,) As Single, ByVal Cy As Integer, ByVal Cx As Integer, ByVal nf As Integer, ByVal nc As Integer) For fila = 0 To nf - 1
-47-
For col = 0 To nc - 1 DataGridView2.Rows(Cy + fila).Cells(Cx + col).Value = A(fila, col) Next col Next fila End Sub Sub ImprimirVector(ByVal A() As Single, ByVal Cy As Integer, ByVal Cx As Integer, ByVal Nc As Integer) For col = 0 To Nc - 1 DataGridView2.Rows(Cy).Cells(Cx + col).Value = A(col) Next End Sub Private Sub MnuIniciar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuIniciar.Click ' solo trabaja para caso de dos variables Try DataGridView1.RowCount = nrestric + filaIni + 2 DataGridView1.ColumnCount = 4 DataGridView1.Columns(0).HeaderCell.Value = "Variable" For col = 1 To nvar DataGridView1.Columns(col).HeaderCell.Value = "X" & col Next DataGridView1.Rows(0).Cells(0).Value = " Margen Contr" DataGridView1.Rows(1).Cells(0).Value = " Restricciones" DataGridView1.Rows(1).Cells(nvar + 1).Value = " Disponib" For col = 1 To nrestric DataGridView1.Rows(1 + col).Cells(0).Value = "R" & col Next DataGridView1.Rows(0).Cells(1).Value = 4 DataGridView1.Rows(0).Cells(2).Value = 12 DataGridView1.Rows(2).Cells(1).Value = 2500 DataGridView1.Rows(2).Cells(2).Value = 5000 DataGridView1.Rows(2).Cells(3).Value = 7000 DataGridView1.Rows(3).Cells(1).Value = 50 DataGridView1.Rows(3).Cells(2).Value = 200 DataGridView1.Rows(3).Cells(3).Value = 250 ' obtenemos la matriz M1 y B Catch ex As Exception MsgBox(ex.Message) End Try End Sub Private Sub MnuIniciarGrafico_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuIniciarGrafico.Click DataGridView2.RowCount = nrestric + 3 DataGridView2.ColumnCount = 5 For fila = 0 To nrestric - 1 B(fila) = DataGridView1.Rows(2 + fila).Cells(3).Value For col = 0 To 1
-48-
M1(fila, col) = DataGridView1.Rows(2 + fila).Cells(1 + col).Value Next Next ' obtenemos la matriz CJ For col = 0 To 1 CJ(col) = DataGridView1.Rows(0).Cells(1 + col).Value Next ' solo son dos variables DataGridView2.Rows(0).Cells(0).Value = "RESTRICIONES" DataGridView2.Rows(0).Cells(1).Value = "X1" DataGridView2.Rows(0).Cells(2).Value = "X2" DataGridView2.Rows(0).Cells(3).Value = "X1a" DataGridView2.Rows(0).Cells(4).Value = "X2a" ' obtnenemos los maximos de x1 y x2 maxx1 = -1000 maxx2 = -1000 For fila = 0 To nrestric - 1 DataGridView2.Rows(fila + filaIni).Cells(0).Value = "R" & fila + 1 DataGridView2.Rows(fila + filaIni).Cells(1).Value = 0 numerador = DataGridView1.Rows(fila + filaIni + 1).Cells(3).Value denominador = DataGridView1.Rows(fila + filaIni + 1).Cells(2).Value dato = numerador / denominador If dato > maxx1 Then maxx1 = dato DataGridView2.Rows(filaIni + fila).Cells(2).Value = dato DataGridView2.Rows(filaIni + fila).Cells(4).Value = 0 ' si x2=0 denominador = DataGridView1.Rows(fila + filaIni + 1).Cells(1).Value dato = numerador / denominador If dato > maxx2 Then maxx2 = dato DataGridView2.Rows(filaIni + fila).Cells(3).Value = dato Next DataGridView2.Rows(nrestric + filaIni).Cells(0).Value = "maximo" DataGridView2.Rows(nrestric + filaIni).Cells(2).Value = maxx1 DataGridView2.Rows(nrestric + filaIni).Cells(3).Value = maxx2 Zmaximo = CJ(0) * maxx1 + CJ(1) * maxx2 If maxx1 > maxx2 Then mayor = maxx1 Else mayor = maxx2 End If ValorMaximoX = mayor ValorMaximoY = mayor ex = ancho / ValorMaximoX ey = -ex TextBox1.Text = ex TextBox2.Text = ey TextBox3.Text = ValorMaximoX TextBox4.Text = ValorMaximoY rUnidadX = ex
-49-
UnidadX = 1 While rUnidadX > 1000 rUnidadX = rUnidadX / 10 UnidadX = UnidadX / 10 End While While rUnidadX < 10 rUnidadX = rUnidadX * 10 UnidadX = UnidadX * 10 End While Unidady = UnidadX TextBox5.Text = UnidadX TextBox6.Text = Unidady End Sub Private Sub MnuGraficar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuGraficar.Click Dim fila1 As Single Dim col1 As Single ex = TextBox1.Text ey = TextBox2.Text UnidadX = TextBox5.Text UnidadY = TextBox6.Text Borrar(sender, e) ' graficar la escala de x Dim MiFuente As New Font("Arial", 10, FontStyle.Bold) Dim Penciles(3) As Color Dim Brocha As SolidBrush = New SolidBrush(Color.LightGreen) pen = New Pen(Color.Blue, 2) Penciles(0) = Color.FromArgb(255, 0, 0) Penciles(1) = Color.FromArgb(0, 0, 255) Penciles(2) = Color.FromArgb(0, 255, 0) Penciles(3) = Color.FromArgb(255, 0, 255) Cx = paso Cy = alto Try Grafico.DrawLine(pen, Cx, 0, Cx, Cy) Grafico.DrawLine(pen, Cx, Cy, Cx + ancho, Cy) Grafico.DrawString("X1", MiFuente, Brushes.Red, ancho - paso, Cy) Grafico.DrawString("X2", MiFuente, Brushes.Green, Cx - paso, paso) fila = 0 For fila = 0 To nrestric - 1 pen.Color = Penciles(fila) Brocha.Color = Penciles(fila) x1 = DataGridView2.Rows(1 + fila).Cells(1).Value x2 = DataGridView2.Rows(1 + fila).Cells(2).Value x1a = DataGridView2.Rows(1 + fila).Cells(3).Value x2a = DataGridView2.Rows(1 + fila).Cells(4).Value Grafico.DrawLine(pen, Cx + x1 * ex, Cy + x2 * ey, Cx + x1a * ex, Cy + x2a * ey)
-50-
Grafico.DrawString("R" & fila + 1, MiFuente, Brocha, Cx + x1 * ex, Cy + x2 * ey) Next For col1 = 0 To ValorMaximoX Step UnidadX Grafico.DrawString(col1, MiFuente, Brushes.Blue, Cx + col1 * ex, Cy) Next For fila1 = 0 To ValorMaximoY Step UnidadY Grafico.DrawString(fila1, MiFuente, Brushes.Blue, Cx - paso, Cy + fila1 * ey) Next Catch ex As Exception MsgBox(ex.Message) End Try End Sub Private Sub MnuResolver_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuResolver.Click Dim valor As Single Dim resultado As Integer Dim x As Single, y As Single pen.Color = Color.Red Dim delta As Single = Zmaximo / 10 Select Case tipofo Case 1 For valor = 0 To Zmaximo Step dx x1 = 0 x2 = valor / CJ(1) x1a = valor / CJ(0) x2a = 0 resultado = probarlineaMax(x1, x2, x1a, x2a, valor, CJ, B, x, y) If valor Mod delta = 0 Then Grafico.DrawLine(pen, Cx + x1 * ex, Cy + x2 * ey, Cx + x1a * ex, Cy + x2a * ey) End If If resultado = 0 Then ListBox1.Items.Clear() ListBox1.Items.Add("X1 " & x) ListBox1.Items.Add("X2 " & y) ListBox1.Items.Add("Z " & valor - 1) Exit Sub End If Next Case 2 For valor = Zmaximo * 10 To 0 Step -dx x1 = 0 x2 = valor / CJ(1) x1a = valor / CJ(0) x2a = 0 resultado = probarlineaMin(x1, x2, x1a, x2a, valor, CJ, B, x, y) If valor Mod 1 = 0 Then
-51-
Grafico.DrawLine(pen, Cx + x1 * ex, Cy + x2 * ey, Cx + x1a * ex, Cy + x2a * ey) End If If resultado = 0 Then ListBox1.Items.Clear() ListBox1.Items.Add("X1 " & x) ListBox1.Items.Add("X2 " & y) z = CJ(0) * x + CJ(1) * y ListBox1.Items.Add("Z " & z) Exit Sub End If Next End Select End Sub Private Sub MnuRellenar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuRellenar.Click pen.Color = Color.FromArgb(0, 255, 0) Dim menor As Single = Zmaximo Dim xx As Single, yy As Single Dim fex As Single = (1.0 / ex) * 5 Dim fey As Single = (1.0 / -ey) * 5 Select Case tipofo Case 1 ' cuando es maximizacion For yy = 0 To ValorMaximoY Step UnidadX / 10 For xx = 0 To ValorMaximoX Step UnidadY / 10 z = CJ(0) * xx + CJ(1) * yy menor = Zmaximo For k = 0 To nrestric - 1 r(k) = B(k) - (xx * M1(k, 0) + yy * M1(k, 1)) If r(k) < menor Then menor = r(k) End If Next If menor >= 0 Then Grafico.DrawRectangle(pen, Cx + xx * ex, Cy + yy * ey, 1, 1) End If Next xx Next yy Case 2 ' cuando es minimizacion For x2a = 0 To ValorMaximoY Step fex For x1a = 0 To ValorMaximoX Step fey z = CJ(0) * x1a + CJ(1) * x2a menor = Zmaximo For k = 0 To nrestric - 1 r(k) = (x1a * M1(k, 0) + x2a * M1(k, 1)) - B(k) If r(k) < menor Then menor = r(k)
-52-
End If Next If menor >= 0 Then Grafico.DrawRectangle(pen, Cx + x1a * ex, Cy + x2a * ey, 1, 1) End If Next Next End Select End Sub Private Sub Borrar(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BorrarToolStripMenuItem.Click Grafico.Clear(Color.White) End Sub Private Sub NroDeRestriccionesToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NroDeRestriccionesToolStripMenuItem.Click nrestric = InputBox("INGRES NRO DE RESTRICCIONES", "nrestric", 2) End Sub Private Sub MaximizacionToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MaximizacionToolStripMenuItem.Click tipofo = 1 End Sub Private Sub MinimizacionToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MinimizacionToolStripMenuItem.Click tipofo = 2 End Sub Private Sub MnuCero_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuCero.Click dx = 1 End Sub Private Sub Mnu1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Mnu1.Click dx = 0.1 End Sub Private Sub MnuDos_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuDos.Click dx = 0.01 End Sub Private Sub mnu3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnu3.Click dx = 0.001 End Sub End Class
-53-
CASO MINIMIZACION Problema de la Dieta 2.2.2 Solucin de un modelo de minimizacin : Ejemplo 2.2-2 (Problema de la dieta) En Granjas Modelo se usa diariamente un mnimo de 800 libras (Ib) de un alimento especial, que es una mezcla de maz y soya, con las composiciones siguientes: Ib por Ib de alimento Alimento Protenas Fibras Costo ($/lb) Maz 0.09 0.02 0.30 Soya 0.60 0.06 0.90 Las necesidades dietticas del alimento especial son un mnimo de 30% de protenas y un mximo de 5% de fibras. Granjas Modelo desea determinar las proporciones de alimento que produzcan un costo diario mnimo.Como la mezcla de alimentos consiste en maz y soya, las variables de decisin del modelo se definen como sigue: X1, = Ib de maz en la mezcla diaria x2 = Ib de soya en la mezcla diaria La funcin objetivo trata de minimizar el costo (en dlares) diario total de la mezcla de alimentos, y en consecuencia se expresa como sigue: minimizar z = 0.3x1, + 0.9x2 Las restricciones del modelo reflejan la cantidad diaria necesaria y los requerimientos dietticos. Como Granjas Modelo necesita un mnimo de 800 Ib diarias de alimento, la restriccin correspondiente se puede expresar como sigue: X1 + x2 >= 800 En cuanto a la restriccin diettica de necesidades de protena, la cantidad de protena que contienen x1 Ib de maz y x2 Ib de soya es (0.09x1, + 0.6x2) Ib. Esta cantidad debe ser cuando menos igual al 30% de la mezcla total de alimentos, (x1, + x2) Ib; esto es 0.09x1, + 0.6x2 >= 03(x1 + x2) De manera similar, la restriccin de la fibra se define como 0.02x1, + 0.06x2 < 0.05(x1 + x2) Las restricciones se simplifican agrupando todos los trminos en x1, y x2 y pasndolos al lado izquierdo de cada desigualdad, para que slo quede una constante en el lado derecho. As, el modelo completo viene a ser minimizar z = 0.3x1, + 0.9x2 sujeta a X1 + x2 >= 800 0.21x1 - 0.30x2 <= 0 0.03x1 - 0.01x2 >= 0 X1,x2>=0 Paso 1 preparar la hoja de calculo para el Solver
-54-
1. La solucin es
Variable Componente Cantidad Costo Restricciones composicion Protenas Fibras x1 x2 Maiz Soya 470.58824 329.41176 Costo 0.3 0.9 437.64706 Usado Requerido ld 1 1 800 800 >= 0.21 -0.3 -5.21E-11 0 <= 0.03 -0.01 10.823529 0 >=
x1 = 470.6 Ib y x2 = 329.4 Ib. El costo mnimo correspondiente, de la mezcla de alimentos, es z = 0.3 X 470.6 + 0.9 X 329.4 = $437.64 diarios. Problema 3 caso de minimizacin
-55-
4 PROGRAMACIN LINEAL: EL ENFOQUE GRFICO Enunciado del problema.-. Un sastre fabrica trajes y vestidos, un traje usa 3 metros de tela de lana y 1 metros de tela de algodn y un vestido dos metros de cada tipo de tela. Un traje lo vende a 200 soles y el vestido a 150 soles. En el almacn tiene 500 metros de tela de lana y 400 de tela de algodn, cuantos trajes y vestidos debe hacer para maximizar sus ganancias
-56-
Plan de Produccin de Confecciones Producto Traje Vestido Cantidad a producir 50 175 ganancia Margen de Contribucin 200 150 36250 Restricciones Total LI Lana 3 2 500 <= Algodn 1 2 400 <= Solucin y anlisis de sensibilidad
METODO GRAFICO Definiciones Regin factible. ABCD Polgono de solucin es un polgono convexo BCD Solucin factible.-cualquier punto de la regin factible Solucin optima. C
PASOS DEL METODO GRAFICO PARTE 1 FORMULACION DEL PROBLEMA 2.1.1 Identificacin de las variables de decisin X1 = el nmero trajes a producir
-57-
X2 = el numero de vestidos a producir 2.1.2 Identificacin de los datos del problema cuadro 2.1.3 Identificacin de la funcin objetivo Maximizar (z) = 200x1+ 150x2 2.1.4 Identificacin de las restricciones 3x1 +2x2 <=500 X1+2x2<=400 X1>=0 X2>=0 PARTE 2 (SOLUCION POR EL METODO GRAFICO) Graficacin de las restricciones de un programa lineal
Plan de Produccin de Confecciones Producto Traje Vestido Cantidad a producir 50 175 ganancia Margen de Contribucin 200 150 36250 Restricciones Total LI Lana 3 2 500 <= Algodn 1 2 400 <=
C1 3 1 200
C2 2 2 150
B 500
1-1 graficar las rectas ( hacerlo con Excel) Restriccion 1 (lana) 3x1+2x2<=500 si x1=0 x2= 500/2= x2=250 si x2=0 x1= 500/3= x2=166.667 Restriccion 2 (algodon) R2= X1+2X2<=400 si x1=0 x2= 400/2= x2=200 si x2=0 x1= 400/1= x1=400 Funcin objetivo f(z) 200x1+150x2=30000 si x1=0 x2= 30000/150= x=200 si x2=0 x1= 30000/200= x=150 Ver las desigualdades Probar con el punto 0,0 Restriccion 1 (lana) 3x1+2x2<=500 3(0)+2(0)<=5000<=500 ( dentro) Restriccion 2 (algodon) R2= X1+2X2<=400 1(0)+1(0)<=4000<=500 ( dentro)
-58-
Obtener la solucin factible 2 Determinacin de polgonos de solucin Uso de la funcin objetivo para obtener una solucin optima Modifique el lado derecho de la restriccin hasta encontrar la solcuion optima que ocurre en el cruce de las restricciones 1 y 2 X1=50, x2=175 z= 36 250 4.2 PROGRAMAS LINEALES CON PROPIEDADES GEOMTRICAS ESPECIALES 1. Todo programa lineal es ptimo, infactible o ilimitado. 4.2.3 Programas lineales con restricciones redundantes 4.2.4 Programas lineales con soluciones ptimas alternativas ANALISIS DE SENSIBILIDAD Analisis de sensibilidad es probar que ocurre con el resaultado al variara uno de los parmetros manteniendo constante los dems ANLISIS DE SENSIBILIDAD DEL COEFICIENTE DE LA FUNCIN OBJETIVO Se usa un enfoque grfico para determinar qu ocurre con la solucin ptima y el valor de la funcin objetivo cuando se modifica un coeficiente de la funcin objetivo. Anlisis de sensibilidad de la funcin objetivo c1 (traje) Funcin objetivo 200x1+ 150 x2 Probando en Excel se puede notar que el aumento es permisible hasta cuando la curva cruza la restriccin 1 (lana) Para determinar numricamente ese valor mximo, considere el coeficiente de x1 como una variable, digamos c1, en vez del valor fijo 200. Entonces la funcin objetivo se vuelve: c1x1 + 150x2 Pendiente= (valor de x2 cuando x1 es 1) (valor de x2 cuando x1 es 0) Pendiente de la funcin objetivo C1x1+150x2=0 si x1=0 x2=0 Si x1=1 x2= -c1/150 Pendiente= -C1/150-0= -c1/150 Determinacin del valor mximo Pendiente de la restriccion1 R1= 3X1+2X2<=500 Si x1=0x2= 500/2=250 Si x1=1 x2= (500-3)/2=497/2=248.5 Pendiente = 248.5-250=-1.5 I gualando las dos pendientes, obtenemos: -c1/150=-1.5 c1=225 (limite mximo) Determinacin del valor minimo Al bajar el precio en Excel se nota que la solucinn se mantendra hasta que la funcin objetiva cruza la con la restriccin 2 Pendiente de restriccin 2 R2= X1+2X2<=400 Si x1=0 x2= 400/2=200 Si x1=1x2= (400-1)/2= 399/2= 199.5
-59-
Pendiente = 199.5-200=-0.5 Igualando las dos pendientes -c1/150=-0.5 c1=75 (minimo) 75<=c1<=225 Anlisis de c2 Pendiente de la funcin objetivo = 200x1+c2x2=0 Si x1=0 x2=0 Si x1=1x2= -200/c2 Pendiente= -200/c2-0 =-200/c2 Encontrando el limite superior al probar en Excel al aumentar el precio de c2 la solucin se mantendra hasta que la funcin objetiva cruce la restriccin 2 Pendiente de R2= x1+2x2=400 Si x1=0 x2=400/2=200 Si x1=1 x2= (400-1)= 199.5 Pendiente = 199.5-200 = -0.5 Igualando las dos pendientes -200/c2=-0.5c2=200/0.5c2(max)= 400 Encontrando el limite inferior al probar en Excel al disminuir el precio c2 ( de los vestidos) la solucin se mantendra hasta que la funcin objetiva cruce la restriccin 1 R1= 3X1+2X2<=500 Si x1=0 x2 = 500/2=250 Si x1=1x2= (500-3)/2=497/2=248.5. Pendiente= 248.5-250= -1.5 Igualando las dos pendientes -200/c2=-1.5c2=200/1.5 c2(min)=133.33 133<=c2<=400 ANLISIS DE SENSIBILIDAD DEL VALOR DEL LADO DERECHO DE LA RESTRICCIN (RECURSOS) RESTRICCION 1 LANA Un examen cuidadoso de la figura En Excel lleva a la conclusin de que incluso el menor cambio en el valor LD de la restriccin (1) tiene como resultado un cambio en la solucin ptima. Especficamente, al cambiar el valor LD de la primera restriccin, esa lnea de restriccin se mueve paralelamente a s misma, esto es, la pendiente de esa lnea de restriccin no cambia. Mientras esa lnea no se mueva demasiado, por ejemplo, cuando el valor Id se incrementa de 510, 600, la solucin ptima permanece en la interseccin de esas dos lneas correspondiente a las restricciones (1) y (2). Sin embargo, cuando ese valor excede de 1200 (por ejemplo, 2000), la solucin ptima ya no seria en el cruce de la r1 con la funcin objetiva b1(max) puede incrementarse hasta que esta lnea de restriccin pase por el punto x1 = 400 y x2 = 0. As, 3(400) + (0) = b1(max) b1(max)=1200 Ahora, considere lo que ocurre cuando el lado derecho de la restriccin (1) disminuye de su valor actual de 400. La lnea correspondiente a la restriccin (1) ahora se mueve paralelamente a s misma pero en la direccin opuesta, como se ve en la figura. Al hacerlo, la solucin ptima cambia. La solucin ptima permanece con el cruce de la funcin y restriccin 1(x1=0, x2=200) 3x1+2x2=b2 b1(min)=200(2)b1(min)=400 400<=b1(min)<=1200
-60-
RESTRICCIN (2) Algodn R2= X1+2X2<=400 Aumento de Ld la solucin se mantedr hasta cruzar la restriccion1 punto (x1=0, x2=250) X1+2x2=b2(max)0+2(250)=b2(max)=500 Calculando el limite inferior al bajar la cantidad de recurso 2 (algodn) La solucin se mantiene hasta que cruza el punto ( x1=166.67 y x2=0) X1+x2x2=b2(min)= 166.67 166.67<=b2<=500
2 VALOR POR UNIDAD DE RECURSO (PRECIO SOMBRA) Precio sombre recurso (PSR) (ganancia cuando Id =mximo) - (ganancia cuando Id = mnimo) PSR = ---------------------------------------------------------------------------- 3 Mximo-mnimo Precio sombra del recurso 1 (lana) Ganancia cuando el recurso es mximo punto(x1=400, x2=0) Max(z)= 200(400)+150(0)= 80000 Ganancia cuando el recurso es mnimo punto(0,200) Max(z)= 200(0)+150(200)=30000 Aplicando Solver se obtendra lo mismo Precio sombra r1= (80000-30000)/(1200-400)= 50000/800=62.5 Precio sombra del recurso 2 (algodn) Ganancia cuando el recurso es mximo punto(x1=0, x2=250) Max(z)= 200(0)+150(250)=37500 Ganancia cuando el recurso es mnimo punto(166.67,0) Max(z)= 200(166.67)+150(0)=33334 Precio sombra r2== (37500-33334)/(500-166.67)= 12.50 PREGUNTAS 1. Cul es la produccin ptima y cual su ganancia X1=50, x2=175 , z=36250 2 Como se ha gastado el material y se ha habido material sobrante No ha habido material sobrante 3 Si solo se fabricara 10 trajes y 20 vestidos cual es el gasto de material y cuales son los sobrantes y cual seria la ganancia
-61-
Plan de Produccin de Confecciones Producto Traje Vestido Cantidad a producir 10 20 Ganancia Margen de Contribucin 200 150 5000 Restricciones Total LI Lana 3 2 70 <= Algodn 1 2 50 <= 4
Como el traje proporciona mas ganancias entonces si deberia fabricar puro trajes cuanto seria la ganancia y cuanto de material sobra La confeccion de trajes esta limitada por la cantidad de lana que hay por lo tanto se debe fabricar 166 trajes obteniendo una ganancia 33200 sobrando 2 metros de lana y 234 metros de algodn (Usar solver para comprobarlo) Si fabricara puro vestidos cuanto seria la ganancia en este caso la restriccion es el algodn por lo tanto se puede fabricar 200 vestidos obteniendo una ganancia de 30000 y sobrando 100 metros de lana
En que rango se mantien la solucion optima al variar los precios del traje y del vestido Traje 75<=c1<=225 Vestido 133.33<=c2<=400 7 Si el precio del traje baja 100 soles cual sera la nueva solucin y cual sera su ganancia = est en el rango por lo tanto la solucin ptima es el mismo 100*50+150*175= 31250 8 Cuanto se gana por realizar un traje adicional si el precio est en el rango de variacin ejemplo si el precio es 100 si gana 100 9 si el precio del traje sube a 300 cuanto seria la ganancia ya no esta en el rango de variacin de c1 la solucin seria 300*166= 49800 10 Cul es la variacin de los valores de los recursos lana y algodn y cul es su precio sombre de cada recurso lana ver cuadro 11 Si tuviera 1000 metros de lana a cuanto subira la utilidad = 36250+500*62.5=67500 ( pruebe con solver) 12 Si tuviera 1000 metros de algodn cuanto seria la ganancia adicional No se puede aplicar precio sombra por que no esta en el rango como hay mucho algodn se hara puro vestidos 250*150 =37500 ( falta lana) 13 que recurso vale mas la lana 14 que precio conviene variar El de los vestidos por que hay mas cantidad en la solucin optima Problema 2 caso minimizacin Supongamos que se cuenta con dos alimentos pan y queso, cada uno de ellos contiene caloras y protenas en diversas proporciones, Un kilogramo de pan contiene 2500 caloras y 50 gramos de protenas, y un kilogramo de queso contiene 5000 caloras y 200 gramos de protenas supongamos que una dieta especial requiere cuando menos 7000 caloras y 250 gramos de protenas diariamente
-62-
Por tanto si el kilogramo de pan cuesta S/4.00 y 12$ el queso qu cantidad de pan y queso debemos comprar para satisfacer los requisitos de la dieta normal, gastando la menor cantidad posible de dinero? Solucion Variable x1 x2 Identificacin de datos del problema Productos Pan queso Cantidad 1 1 Costo Costo 4 12 16 Modelo matematico Restricciones Usado Requerido ld Exceso Min (z) = 4x1+12x2 s.a 2500x1+5000x2 Caloras 2500 5000 7500 7000 >= -500 >=7000 ( calorias) Protenas 50 200 250 250 >= 0 50x1+200x2 250 (proteinas) X1,X2 0
Solucin
-63-
Exceso -500 0
RESTRICCION1 C1 C2 B X1 R1= 2500X1+500X2>=7000(CALORIAS) 2500 5000 7000 R2= 50X1+200X2>=250(PROTEINAS) 50 FUNCION OBJETIVO 4 200 12 250 12
Solucin Se debe comprar 0.6 kg de queso y 1.1 Kg de pan con un gasto de 15.6 SOLUCION GRAFICA Restriccin 1 R1= 2500X1+500X2>=7000(CALORIAS) Si x1=0x2=7000/5000=1.4 punto(0,1.4) Si x2=0x1= 7000/2500=2.8 punto (2.8,0) Restriccin 2 R2= 50X1+200X2>=250(PROTEINAS) Si x1=0x2=250/200=1.25 punto(0,1.25) Si x2=0x1= 250/50=5 punto (5,0) Probando el punto (0,0) si esta dentro o fuera R1= 2500(0)+500X2>=7000(CALORIAS 0 >= 7000 punto fuera R2= 50X1+200X2>=250(PROTEINAS) 0>=250 punto fuera Grafico de la funcin objetivo 4x1+12x2=10 Si x1=0x2=10/12=0.83 punto(0,0.83) Si x2=0x1= 10/4=2.5 punto (2.5,0) Aumentar el valor del lado derecho de la funcin objetivo y en aquel punto donde la solucin factible es menor ser la solucin optima que en este caso es el cruce de las restricciones R1 Y R2 x1=0.6 y x2=1.1 Costo de 15.6
-64-
SOLUCION DEL PROBLEMA HECHO EN CLASE DIAPOSITIVA 34 1. A) PLANTEO DE UN PROBLEMA. 2. Una empresa elabora dos productos (P1, P2), en las cuales entran dos componentes A y B en cada producto. Existe una determinada disponibilidad de cada componente y una utilidad por cada producto. Se desea hallar la cantidad de cada articulo que debe fabricarse a fin de maximizar las utilidades, tenindose en cuenta que por cada producto P1 se requiere de 4 Kg. del componente A y 2 Kg. del componente B y por cada producto P2 se requiere 2 y 5 Kg. de A y B respectivamente; adems se sabe que existen disponibles 80 y 120 Kg. de A y B respectivamente. Las utilidades que reportan cada producto P1 y P2 son de 30 y 40 dlares respectivamente. 3. SOLUCIN. 4. Generalmente en estos tipos de problemas se procede inicialmente a resumir los datos del problema en un cuadro, como el siguiente:
Producto P1 P2 1 1 30 40 4 2 2 5
Solucion
-65-
-66-
ANALISIS DE SENSIBILIDAD Anlisis de sensibilidad de la funcin objetivo c1 (pan) 3<c1<6 Anlisis de sensibilidad de la funcin objetivo c2 (queso) 8<c2<16 ANALIZANDO SENSIBILIDAD DE RECURSOS Recurso 1 caloras (restriccin 1) 6250<r1<=12500 Recurso 2 protenas (restriccin 2) 140<r2<=280 VALOR POR UNIDAD DE RECURSO Precio sombra R1 calora= (20-15)/(12500-6250)=5/6250=0.0008 Precio sombra del R2 (protenas) = (16.8-11.2)/(280-140)=5.6/140=0.04 PREGUNTAS si solo se dispone de pan con que cantidad podra alimentarse cumpliendo las caloras y protenas necesarias y cuanto me costara
-67-
Ejercicio Calcule la solucin y el anlisis de sensibilidad del siguiente problema Una compaa manufacturera fabrica 2 productos 1 y 2 y es lo suficientemente afortunada como para vender todo lo que se puede producir actualmente se tiene como dato el siguiente Requerimientos de tiempo de manufacturacin para producir una unidad de producto por departamento Producto tiempo de manufactura horas Depto A Depto B Depto C Utilidad 1 2 1 4 10 2 2 2 2 15 Horas Disponibles 160 120 280 Sea x1 la cantidad a producir del producto 1 Sea x2 la cantidad a producir del producto 2 El Modelo es Solucin con Lindo Max 10x1+ 15x2 Subject to 2x1+ 2x2 <=160 x1+ 2x2 <=120 4x1+ 2x2 <=280 x1>=0 x2 >=0 End
PRACTICA 5 EL METODO SIMPLEX : METODOS DE SOLUCION OPTIMA 1, PARA MAXIMIZACION Alternativa 1 (Cj-Zj) Primera decisin el > Segunda decisin el < ( positivo) Solucin optima cuando (Cj-Zj) 0 Alternativa 2 (Zj-Cj) Primera decisin el < Segunda decisin el < ( positivo) Solucin optima cuando (Zj-Cj) 0 o 2, PARA MINIMIZACION Alternativa 1 (Cj-Zj) Primera decisin el < Segunda decisin el < ( positivo) Solucin optima cuando (Cj-Zj) >= 0 Alternativa 2 (Zj-Cj) Primera decisin el > Segunda decisin el < ( positivo) Solucin optima cuando (Zj-Cj) 0
-68-
SOLUCION DEL PROBLEMA DE CONFECCIONES 1. Modelo matemtico Max (z)= 200x1 + 150 X2 Sujeto a: 32X1+2X2 <=500 1X1+ 2 X2 <=400 X1 >= 0; X2 >= 0; 2. Convertido a forma estndar Max (z)= 200x1 + 150 X2 +0u1+ 0u2 Sujeto a: 32X1+2X2 +u1 =500 1X1+ 2 X2 +u2 =400 X1,X2,S1,S2 >= 0 Solucin Hacindolo en forma manual CJ 200 150 CK XK B X1 X2 0 u1 500 3 2 0 u2 400 1 2 ZJ 0 0 0 Zj-Cj -200 -150 200 X1 500/3 1 2/3 0 u2 700/3 0 4/3 ZJ 100000/3 200 400/3 Zj-Cj 0 -50/3 200 X1 50 1 0 150 X2 175 0 1 ZJ 36250 200 150 Zj-Cj 0 0
500/3 400 el menor (+) el menor 250 175 el menor (+) elmenor
CJ CK
0 u1
0 u2
-69-
0 u1 500 3 0 u2 400 1 ZJ 0 0 Zj-Cj -200 200 X1 166 2/3 1 0 u2 233 1/3 0 ZJ 33333 1/3 200 Zj-Cj 0 200 X1 50 1 150 X2 175 0 ZJ 36250 200 Zj-Cj 0 La lgica del simplex con el problema
CJ CK XK 0 u1 0 u2 ZJ Cj-Zj 200 X1 0 u2 ZJ Cj-Zj 200 X1 150 X2 ZJ Cj-Zj B 500 400 0 166.6666667 233.3333333 33333.33333 50 175 36250 200 X1 3 1 0 200 1 0 200 0 1 0 200 0
2 1 2 0 0 0 -150 0 2/3 1/3 1 1/3 - 1/3 133 1/3 66 2/3 -16 2/3 66 2/3 0 1/2 1 - 1/4 150 62 1/2 0 62 1/2 de confecciones
0 u1 1 0 0 0 0.33333 -0.3333 66.6667 -66.667 62.8333 -0.25 12529.2 -12529 0 u2 0 1 0 0 0 1 0 0 0 0.75 113 -113
166 2/3 400 el menor (+) el menor 250 175 el menor (+) elmenor
Al principio no se produce nada por tanto (x1=0, x2=0, s1=500,s2=400) Variables bsicas = u1, u2 Variables no bsicas =x1,x2 En la primera decisin se tiene que elijar que producto me da mayor rentabilidad (elijo entre x1=200, x2=150), cada unidad de x1 me produce una rentabilidad de 200 soles en cambio una unidad de x2 solo me produce una rentabilidad de 150 por lo tanto elijo producir x1 En segunda decisin cuantas unidades de x1 puedo producir con los recursos que tengo Con recurso lana = 500/3 =166.67 trajes Con recurso algodn = 400/1= 400 trajes Si yo intentara producir 400 trajes necesitara 400x3 =1200 metros de lana o cual no es posible por lo tanto decido producir solo 167.67 trajes ( por eso se escoje el menor) Produciendo 167.67 trajes los recursos usados son (ver cuadro)
-70-
En la segunda iteracin fabricando 166.67 trajes se atiene una ganancia de 33333.33 y sobran 233.33 metros de tela de algodn como se puede demostrar CANT Lana Algodn Lana Algodn Traje 166.67 3 1 500.01 166.67 Vestido 0 2 2 0 0 TOTAL 166.67 5 3 500.01 166.67 DISPONIBLE 500 400 500 400 SOBRANTE 495 397 -0.01 Pu Total 200 33334 150 0 350 33334
233.33 350
En la columna 10 Cj-Zj la solucin nos indica que una unidad adicional de producto nos produce una ganancia de 16.67 soles pero para ello tenemos que sacrificar 0.66 trajes y 1.33 de algodn Haciendo esto para fabricar un vestido se tendr que fabricar solo 166.67-0.667= trajes, y el recurso algodn se disminuye en 1.333 sea 233.33-1.33 = 232 como puede demostrar CANT Traje Vestido TOTAL DISPONIBLE SOBRANTE 166 1 167 Lana 3 2 5 500 495 Algodn 1 2 3 400 397 Lana 498 2 500 500 0
x2 de 66 se
Algodn Pu Total 166 200 33200 2 150 150 168 350 33350 400 232
-71-
En la columna h fila 7 el valor 250 significa 1 que se dejamos de fabricar los 167.67 trajes se liberarian recurso para fabricar 250 vestidos en recurso lana asumiendo que los 1..33 de algodn se obtiene del algodn sobrante pero en ese caso falta 167.67 503.01 167.67 El valor El 175 siginifca que de los 233.33 metros de algodn sobrantes se debe tomar 1.33 mt para hacer el vestido y 0.667 mt del recurso liberado por no hacer el traje con esa cantidad se podra hacer 175 vestidos. Por lo tanto se debe sacrificar 116.67 unidades de traje y terminar el algodn para fabricar 50 trajes y 175 vestidos obteniendo una ganancia de 36250 RESUMEN DE INTERPRETACION DEL CUADRO DEL SIMPLEX
-72-
Iteracion 2 Se decide fabricar 166.67 trajes que cada uno cuesta 200 soles entonces se obtendria 33333.33 soles El valor 233 se obtiene de 400-500*1/3 que es lo mismo que 400-166.67*1 que significa que de los 400 metros de algodn necesito un metro para cada traje me sobran 233.34 Celda d8: la ganancia del traje es 200 Celda e7 siginifca que para fab ricar un vestido necesitamos u 0.67 de trajes, para un vestido entra 0.67 Por que traje usa 3 metros de lana y el vestido solo 2 necesitas liberar 2 mtros de lana que significa 2/3 trajes F7: para tener un metro de lana se debe liberar o.33 de traje que utiliza 3metros su costo es 66.67 B8. Sobrante del recurso algodn H7 = con 166.7 puedes hacer 250 vestidos por la liberacin del recurso lana que son 500 mt pero faltara 100 metros de algodn por lo tanto es esto no es factible H8=con 233.33 metros de algodn puedes hacer 175 vestidos por que cada vestido entra 1.33 metros de tela de algodn osea Celda 211= 166.7-175*0.67 Celda d9 la ganancia del vestido es 133.33 Ejercicio Calcule la solucin del siguiente problema Una compaa manufacturera fabrica 2 productos 1 y 2 y es lo suficientemente afortunada como para vender todo lo que se puede producir actualmente se tiene como dato el siguiente Requerimientos de tiempo de manufacturacin para producir una unidad de producto por departamento Producto tiempo de manufactura horas Depto A Depto B Depto C Utilidad 1 2 1 4 10 2 2 2 2 15 Horas Disponibles 160 120 280 Sea x1 la cantidad a producir del producto 1 Sea x2 la cantidad a producir del producto 2 El Modelo es Max(z) = 10x1+ 15x2 Sujeto a: 2x1+ 2x2 <=160 ( Depto A) X1+2x2 <=120 ( depto B) 4x1+ 2x2 <=280 X1, x2 > =0 Representacin en forma estndar Max( z) = 10x1 +15x2 +0u1+0u2+0u3 s.a 2x1+2x2 +u1 160 X1+ 2x2 + u2 120 4x1+2x2 + u3 280 X1,x2,u1,u2,u3 0
-73-
15 X2 2 2 2 0 -15 0 1 0 15 0 0 1
0 u1 1 0 0 0 0 1 0 0 0 0 1 - 1/2
0 u3 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 el menor (+) El menor 80 60 140 el menor (+) El menor 40 120 53 1/3 el menor (+) El menor
u1 x2 u3
x1 x2
0 u3 40 0 0 -3 2 ZJ 1000 10 15 2 1/2 5 Zj-Cj 0 0 2 1/2 5 Resultados x1= 40 ,x2 = 40 U1=,U2= 0 ,U3=40 Resolviendo con Solver de Excel
Anlisis de sensibilidad
-74-
Solucin en WInQSB
METODO SIMPLEX PARA MINIMIZACION Caso problema de la dieta Variable x1 x2 Productos Pan queso Cantidad 1 1 Costo Costo 4 12 16 Restricciones Usado Requerido ld Exceso Caloras 2500 5000 7500 7000 >= -500 Protenas 50 200 250 250 >= 0
-75-
Forma original Min (z) = 4x1+12x2 s.a 2500x1+5000x2 >=7000 ( calorias) 50x1+200x2 250 (proteinas) X1,X2 0 Forma estndar ( o aumentada con variables artificiales) Min (z) = 4x1+12x2-0u1-0u2+Mq1+Mq2 s.a 2500x1+5000x2 u1+Mq1 =7000 ( calorias) 50x1+200x2 u2+Mq2= 250 (proteinas) X1,X2 0 Solucin CJ CK XK B M Q1 7000 M Q2 250 ZJ 7250M 12 X2 5000 200 5200M 12CJ-ZJ 4-2550M 5200M M Q1 750 1250 0 12 X2 1.25 0.25 1 1250M ZJ 750M+15 +3 12 4CJ-ZJ 1250M+3 0 4 X1 0.6 1 0 12 X2 1.1 0 1 ZJ 15.6 4 12 CJ-ZJ 0 0 4 X1 2500 50 2550M 0 u1 -1 0 -M M -1 0 -M 0 u2 0 -1 -M M 25 -0.005 M Q1 1 0 M 0 1 0 M 0 0.0008 -0.0002 0.0008 M0.008 M Q2 0 1 M 0 -25 0.005 25M+0.06 24M+0.06 -0.02 0.01 0.04 M-0.04
1.4 1.25 el menor (+) el menor 0.6 5 el menor (+) el menor -750 5500 el menor (+) AO
25M-0.06 -25MM 0.06 -8E-04 0.02 0.0002 -0.01 -8E-04 -0.04 0.0008 0.04
-76-
1.4 1.25 el menor ZJ 725000 255000 520000 -100 -100 100 100 (+) CJ-ZJ -254996 -519988 100 100 0 0 el menor 100 Q1 750 1250 0 -1 25 1 -25 0.6 12 X2 1.25 0.25 1 0 -0.005 0 0.005 5 el menor ZJ 75015 125003 12 -100 2499.94 100 -2499.9 (+) CJ-ZJ -124999 0 100 -2499.9 0 2599.94 el menor 4 X1 0.6 1 0 -8E-04 0.02 0.0008 -0.02 -750 12 X2 1.1 0 1 0.0002 -0.01 -2E-04 0.01 5500 el menor ZJ 15.6 4 12 -8E-04 -0.04 0.0008 0.04 (+) CJ-ZJ 0 0 0.0008 0.04 99.999 99.96 El menor MINIMIZACION CON VARIABLES ARTIFICIALES Min z= 2x1+3x2 s.a 1x1 +x2 >=6 x1+x2 >=4 CJ 2 3 0 0 M CK XK B X1 X2 u1 u2 Q1 M Q1 6 3 1 -1 0 1 M Q2 4 1 1 0 -1 0 ZJ 10M 4M 2M -M -M M CJ-ZJ 2-4M 3-2M M M 0 2 X1 2.00 1 1/3 - 1/3 0 1/3 M Q2 2 0 2/3 1/3 -1 - 1/3 ZJ 4+2M 2 1/3+2/3M -2/3+M/3 -M 2/3-M/3 CJ-ZJ 0 8/3-2/3M 2/3-M/3 M 4/3M+2/3 2 X1 1 1 0 -0.5 0.5 0.5 3 X2 3 0 1 1/2 -1 1/2 - 1/2 ZJ 11 2 3 0.5 -3.5 -0.5 CJ-ZJ 0 0 - 1/2 3 1/2 M-1/2 2 X1 4 1 1 0 -1 0 0 u1 6 0 2 1 -3 -1 ZJ 8 2 2 0 -2 0 CJ-ZJ 0 1 0 2 M RESOLVIENDO CON WINQSB
M 4 X1 2500 50
2 4 el menor (+) el menor 6.00 3.00 el menor (+) el menor -2 6 el menor (+) El menor
-77-
ITERACIONES
-78-
-79-
Minimizar z =4x1+x2 sujeta a 3x1 + x2 = 3 4x1 + 3x2>= 6 X1 + 2x2 <=4 X1,x2 >=0 Si se usan u1 como excedente en la segunda restriccin y u2 como una holgura en la tercera restriccin, la forma del problema en ecuacin es La primera y segunda ecuaciones no tienen variables que puedan desempear el papel de holguras, pero la tercera s, porque tiene la holgura u2. As, se agregan las variables artificiales R1 y R2 en las dos primeras ecuaciones y se penalizan en la funcin objetivo con MR1 + MR2. La programacin lineal que resulta es Minimizar z = 4x1 + x2 + Mq1+Mq2 sujeta a 3X1+X2 +q1 =3 4X1, + 3x2 u1 +q2 =6 X1 + 2x2 + U2 = 4 X1,X2,U1,U2 >= 0 Resolviendo fase 1 CJ 4 CK XK b X1 M Q1 3 3.00 M Q2 6 4.00 0 u2 4 1.00 ZJ Cj-Zj 4 x1 M q2 0 u2 ZJ Cj-ZJ 4 x1 1 x2 0 u2 ZJ Cj-ZJ 9M 7M 4-7M 1.00 1.00 2.00 0.00 3.00 0.00 2 4 0 0.60 1.00 1.20 0.00 1.00 0.00 3.6 4 0
1 X2 1.00 3.00 2.00 4M 1-4M 0.33 1.67 1.67 4/3+5/3M -1/3-5/3M 0.00 1.00 0.00 1 0
0 u1 0.00 -1.00 0.00 -M M 0.00 -1.00 0.00 -M M 0.20 -0.60 1.00 0.2 - 1/5
0 u2 0.00 0.00 1.00 0 0.00 0.00 0.00 1.00 0 0 0.00 0.00 1.00 0 0
M q1 1 0 0 M 0.00 0.33 -1.33 -0.33 -M/3 2/3M 0.60 -0.80 1.00 1.6 M-1.6
M Q2 0 1 0
1 1.5 4 el menor M (+) 0.00 el menor 0.00 3 1.00 1.2 0.00 1.8 el menor M (+) 0 el menor -0.20 3 0.60 -2 -1.00 1 el menor -0.2 (+) M+0.2 el menor
Fase 2 despareciendo las variable artificiales se continua con la solucin con la fase 2
-80-
PROBLEMA DUAL Y ANALISIS DE SENSIBILIDAD Hallar la solucin del dual con la solucin del primal y luego realizar anlisis de sensibilidad de en los siguientes problemas compruebe con winqsb y Solver y interprete los resultados En el problema de confecciones En el problema de productos En el problema de toyko En el problema de Reddy Mikks Practicas del jueves 24 de mayo del 2012 PRIMERA PRACTICA CALIFICADA DE INVESTIGACION DE OPERACIONES Martes 15 de mayo del 2012 de 9 a 10.40 Profesor Msc. Ing. Ismael Vliz Vilca Ejemplo 4.3-2 TOYCO arma tres juguetes: trenes, camiones y coches, con tres operaciones. Los lmites diarios de tiempo disponible para las tres operaciones son 430,460 y 420 minutos, respectivamente, y las utilidades por tren, camin y coche de juguete son $3, $2 y $5, respectivamente. Los tiempos de armado por tren, en las tres operaciones son 1, 3 y 1 minutos, respectivamente. Los tiempos respectivos por camin y por coche son (2, 0, 4) y (1, 2, 0) minutos (un tiempo de cero indica que no se usa la operacin). 1. Plantee el problema y formule el modelo matemtico del primal (2) 2. Se puede resolver por el mtodos grafico si o no por que (1) 3. Resuelva el problema por el mtodo simplex (3) 4. Formule el problema dual (1) 5. Resuelva el problema dual a partir de la solucin del primal (compruebe resolviendo el problema dual) (4) 6. Realice el anlisis de sensibilidad del primal y del dual (4) 7. Compruebe con los resultados obtenidos con winqsb y solver y vea las semejanzas y diferencias que se da en el siguiente cuadro y interprete cada variable que significa y como se ha obtenido cada resultado y compares con sus respuestas de la pregunta 6 (4 puntos) Primal de TOYCO Maximizar z=3x1+2x2+5x3 s.a : x1+2x2+x3 430(Operacin 1) 3x1+ 2x3 460( Operacin 2) X1+4x2 420 (operacin 3) X1,x2,x3 0 Solucin ptima x1=0,x2=100,x3=230z= 1350 DUAL de TOYKO Minimizar z = 430 y1+ 460 y2 +420 y3 Sujeto a: 1 +3y2 +y3 3 2y1 +4y3 2 Y1+2y2 5 Y1,y2,y3 =0
-81-
Solucin ptima: Y1=1,y2=2,y3=0, w= $1350 SOLUCION DEL PRIMAL CK= ck++ [ (zj-Cj)/aij)]min COEFECIENTE RANGO VARIABLE BASICA (CK) CK POSITIVO SUPERIOR INFERIOR CK NEGATIVO SUPERIOR INFERIOR
VARIACION FUNCION OBJETIVO CK CK+CK CK-CK CK+CK CK-CK MAXIMIZAR Aij <0 aij>0 aij>0 Aij <0 MINIMIZAR Aij >0 aij<0 aij<0 Aij >0
Demuestre con clculos como se ha obtenido los valores del siguiente cuadro
11 El Problema del Carpintero Un carpintero vende todas las mesas y las sillas que fabrica en un mercado. Sin embargo, no tiene un ingreso estable y desea optimizar esta situacin. Los ingresos netos por mesa y silla son 5 y 3 respectivamente Se miden los tiempos de produccin requeridos para una mesa y una silla en distintos momentos del da y se calculan en 2 horas y 1 hora, respectivamente. Las horas laborales totales por semana son slo 40. La materia prima requerida para una mesa y una silla es de 1 y 2 unidades, respectivamente. El abastecimiento total de materia prima es de 50 unidades por semana. Formular el modelo matemtico de programacin lineal para ello
-82-
Definir las variables de decisin Identificar los datos del problema Identificar la funcin objetivo Identificar las restricciones Resolver por el mtodo grafico Resolver mtodo simplex mostrando todas las iteraciones En la tabla simplex explicar que significa cualquier Cij Formular el modelo dual y resolverlo
resolver el problema dual y realizar el anlisis de sensibilidad Supngase que el carpintero pudiera contratar a un ayudante a un costo de US$2 por hora (adicionales $2) Le conviene al carpintero contratar a un ayudante? En caso afirmativo, por cuntas horas? Solucin Sea x1 : la cantidad de mesas a fabricar por el carpintero X2: la cantidad de sillas a fabricar por el carpintero Identificacin de datos del problema Variable x1 x2 Productos Mesas Sillas Cantidad 10 20 Ganancia Untilidad 5 3 110 Restricciones Usado Disponible ld Holgura Mano de Obra 2 1 40 40 <= 0 Materia Prima 1 2 50 50 <= 0 Modelo matemtico Max (z) = 5x1+3x2 s.a 2x1+ x2 40 x1+2x2 50 x1,x2 0 Solucin grafica y solucin final con Tora del problema PRIMAL
-83-
-84-
5 0 ZJ Zj-Cj 5 3 ZJ Zj-Cj
x1 u2
20 30 100
1 0 5 0 1 0 5 0
1/2 1/2 0 1 1/2 - 1/2 1 2 1/2 2 1/2 0 - 1/2 2 1/2 0 0 1 3 0 2/3 - 1/3 2 1/3 2 1/3 - 1/3 2/3 1/3 1/3
x1 x2
10 20 110
el (+) so
menor
PLANTEAMIENTO DEL PROBLEMA DUAL Primal Max (z) = 5x1+3x2 s.a 2x1+ x2 40 x1+2x2 50 x1,x2 0 Dual min(z) = 40y1+50y2 s.a 2 y1 +y2 5 y1+2y2 3 y1,y2 0 Solucin grafica y solucin final con Tora del problema PRIMAL
-85-
TABLA SIMPLEX DEL DUAL CJ CK 100 100 ZJ XK B R1 5 R2 3 800 40 y1 2 1 300 260 1 0 40 0 1 0 40 0 50 y2 1 2 300 250 1/2 1 1/2 170 120 0 1 50 0 0 u1 -1 0 -100 -100 - 1/2 1/2 30 30 - 2/3 1/3 -10 -10 0 u2 0 -1 -100 -100 0 -1 -100 -100 1/3 - 2/3 -20 -20 100 R1 1 0 100 0 1/2 - 1/2 -30 -130 2/3 - 1/3 10 -90 100 R2 0 1 100 0 0 1 100 0 - 1/3 2/3 20 -80 2 1/2 3 el menor (+) el mayor 5 1/3 el menor (+) el mayor
Zj-Cj 40 y1 2 1/2 100 R2 1/2 ZJ Zj-Cj 40 y1 50 y2 ZJ Zj-Cj 150 2 1/3 1/3 110
el (+) So
menor
ANALISIS DE SENSIBILIDAD DEL PROBLEMA DEL CARPINTERO PROBLEMA PRIMAL DEL CARPINTERO Variables no bsicas U1 = horas disponibles U2 = materiales Anlisis de u1 ( c3) rango superior <= 7/3 rango inferior - - <=c3<=7/3 - <=c3<=2.3333
-86-
rango inferior -
Variables bsicas X1: mesas X2 :sillas Ck= ck+cK = ck + [ (zj-Cj)/aij)]min COEFECIENTE VARIABLE BASICA (CK) CK POSITIVO CK NEGATIVO RANGO VARIACION CK SUPERIOR CK+CK INFERIOR CK-CK SUPERIOR CK+CK INFERIOR CK-CK 0 u1 1 0 0 u2 0 1 0 0 0 1 20 50 el menor (+) El menor 40 20 el menor (+) El menor 2/3 1/3 1/3 el (+) so menor FUNCION OBJETIVO MAXIMIZAR MINIMIZAR Aij <0 Aij >0 aij>0 aij<0 aij>0 aij<0 Aij <0 Aij >0
CJ CK 0 0 XK u1 u2 B 40 50 0 20 30 100 x1 x2 10 20 110
5 X1 2 1 0 -5 1 0 5 0 1 0 5 0
3 X2 1 2
ANALISIS DE SENSIBILIDAD DE VARIABLES BASICAS x1,x2, u1,u2 Anlisis de x1(c1) Rango superior ck = ck +Ck =5 + (0.33/[-0.33]) ck =5+1=6 Rango inferior ck = ck -Ck =5 - ( 2.333/0.67) ck =5-3.49 =1.51 1.5<= c1 <= 6 Anlisis de x2(c2) Rango superior ck = ck +Ck =3 + (2.33/[-0.33]) ck =3+7=10 Rango inferior ck = ck -Ck =3 - ( 0.33/0.67) ck =3-0.5 =2.5 2.5<= c1 <= 10
-87-
ANALISIS DE SENSIBILIDAD DEL PROBLEMA DUAL Variables no bsicas U1 = recurso que entra en mesas U2 = recurso que entra en sillas Anlisis de u1 ( b3) rango inferior -10 rango inferior -10 <=b3<= Anlisis de u2(b4) rango inferior c4 <=1/3 ; rango superior 0.33 <=b4<= Variables bsicas Y1: horas hombre X2 :materia prima Ck= ck+cK = ck + [ (zj-Cj)/aij)]mIn CJ CK 100 100 ZJ XK B R1 5 R2 3 800 40 y1 2 1 300 260 1 0 40 0 1 0 40 0 50 y2 1 2 300 250 1/2 1 1/2 170 120 0 1 50 0 0 u1 -1 0 -100 -100 - 1/2 1/2 30 30 - 2/3 1/3 -10 -10 0 u2 0 -1 -100 -100 0 -1 -100 -100 1/3 - 2/3 -20 -20 100 R1 1 0 100 0 1/2 - 1/2 -30 -130 2/3 - 1/3 10 -90 100 R2 0 1 100 0 0 1 100 0 - 1/3 2/3 20 -80 2 1/2 3 el menor (+) el mayor 5 1/3 el menor (+) el mayor
Zj-Cj 40 y1 2 1/2 100 R2 1/2 ZJ Zj-Cj 40 y1 50 y2 ZJ Zj-Cj 150 2 1/3 1/3 110
el (+) So
menor
ANALISIS DE SENSIBILIDAD DE VARIABLES BASICAS y1,y2 Anlisis de y1(b1) Rango superior ck = ck +Ck =40 + (20/[0.33]) ck =40+60=100 Rango inferior ck = ck -Ck =40 - ( 10/-0.67) ck =40-15 =25 25<= b1 <=100 Anlisis de y2 (b2) Rango superior ck = ck +Ck =50 + (10/[0.33]) ck =50+30=80 Rango Inferior inferior ck = ck -Ck =50 - ( 20/-0.67) ck =50-30 =20 20<= b2 <= 80 Preguntas 1. Supngase que el carpintero pudiera contratar a un ayudante a un costo de US$2 por hora (adicionales $2) Le conviene al carpintero contratar a un ayudante? En caso afirmativo, por cuntas horas?
-88-
Como el precio sombra del recurso (mano de obra h-h) es 2.33 (valor de y1) si conviene contratar al ayudante por que la utilidad se incrementara 0.33 por cada hora contratada hasta 100 horas como ya se tiene 40 se podra contratar 60 horas ( digamos 2 ayudantes a 30 horas cada uno) La utilidad subira a 60*0.33=20 osea 110 a 130 Comprobando
UTLIDAD sube a 250 -120(pago del ayudante) = 250-120= 130 2. Interpretacion de las iteraciones Iteracion 0 Variable x1 x2 Productos Mesas Sillas Cantidad 0 0 Ganancia Untilidad 5 3 0 Restricciones Usado Disponible ld Holgura variable Mano de Obra 2 1 0 40 <= 40 u1 Materia Prima 1 2 0 50 <= 50 u2 Se tiene u1=40 y u2 =50 utilidad cero En la columna Zj.Cj -5 nos indica que por cada mesa que dejamos de fabricar perdimos 5 ( o ganariamos 5 si fabricamos 1 ) por eso decidimos fabricar mesas (x1) por que se gana mas una vez decidido que se fabricara mesas analisamos los recursos. Recurso 1. Mano de obra = 40 /2= 20 Recurso 2. Materia prima= 50/ 1=50 ( no se puede fabricar 50 mesas) por que faltaria mano de obra por lo que se elije 20 mesas ( el menor positivo)
-89-
Variable x1 x2 Productos Mesas Sillas Cantidad 20 0 Ganancia Untilidad 5 3 100 Restricciones Usado Disponible ld Mano de Obra 2 1 40 40 <= Materia Prima 1 2 20 50 <=
Holgura variable 0 u1 30 u2
Iteracin 1 Se tiene x1=20 y u2 =30 utilidad 100 ( venta de 20 mesas) En la columna Zj.Cj -0.55 nos indica que por cada silla que dejamos de fabricar perdimos -0.5 ( o ganariamos 0.5 si fabricamos 1 ) pero para eso se debe dejar de fabricar mesa ( probando si fabricamos 2 sillas mas nuestra utilidad se incrementaria en 101 soles por lo tanto fabricamos sillas con el materia prima que no queda y dejamos de fabricar algunas mesas para obtener mano de obra). Variable x1 x2 Productos Mesas Sillas Cantidad 19 2 Ganancia Untilidad 5 3 101 Restricciones Usado Disponible ld Mano de Obra 2 1 40 40 <= Materia Prima 1 2 23 50 <= Iteracin 2 Se tiene x1=10 y u2 =20 utilidad 110 ( venta de 10, mesas y 20 sillas) En la columna Zj.Cj no hay ningun valor negativo por la tanto es la solucion optima En la fila Zj x1=0, x2=0, u1=2.333 u2=0.33 por cada hora adicional de mano de obra se ganaria 2.33 y por cada unidad adicional de material prima se gana 0.33 Por ejmplo si aumentamos horas hombre a 43 se ganaria 2.333*3=7 =110+7=117 Variable x1 x2 Productos Mesas Sillas Cantidad 12 19 Ganancia Untilidad 5 3 117 Restricciones Usado Disponible ld Mano de Obra 2 1 43 43 <= Mater Prima 1 2 50 50 <=
Holgura variable 0 u1 27 u2
Holgura variable 0 u1 0 u2
-90-
Si aumentamos simultaneamente los recursos hasta los limites permitidos Rango superior precio Recurso sombra cant H.h 2.33333 MP 0.3333
Prueba Variable x1 x2 Productos Mesas Sillas Cantidad 40 20 Ganancia Untilidad 5 3 260 Restricciones Usado Disponible ld Mano de Obra 2 1 100 100 <= Materia Prima 1 2 80 80 <= 260-110 = 150 ( aumena en 150 Rango inferior precio Recurso sombra cant H.h 2.33333 MP 0.3333
Holgura variable 0 u1 0 u2
Prueba Variable x1 x2 Productos Mesas Sillas Cantidad 10 5 Ganancia Untilidad 5 3 65 Restricciones Usado Disponible ld Mano de Obra 2 1 25 25 <= Materia Prima 1 2 20 20 <=
Holgura variable 0 u1 0 u2
Seguir haciendo anlisis de este tipo para otros parmetros como por ejemplo variacin de los coeficientes de la funcin objetivo 12 Problema de la Dieta
-91-
Supongamos que se cuenta con dos alimentos pan y queso , cada uno de ellos contiene caloras y protenas en diversas proporciones , Un kilogramo de pan contiene 2000 caloras y 50 gramos de protenas, y un kilogramo de queso contiene 4000 caloras y 200 gramos de protenas supongamos que una dieta norma requiere cuando menos 6000 caloras y 200 gramos de protenas diariamente Por tanto si el kilogramo de pan cuesta $6.00 y 21$ el queso que cantidad de pan y queso debemos comprar para satisfacer los requisitos de la dieta normal , gastando la menor cantidad posible de dinero? Formular el modelo matemtico de programacin lineal para ello Definir las variables de decisin Identificar los datos del problema Identificar la funcin objetivo Identificar las restricciones Resolver por el mtodo grafico Resolver mtodo simplex mostrando todas las iteraciones En la tabla simplex explicar que significa cualquier Cij Formular el modelo dual y resolverlo resolver el problema dual y realizar el anlisis de sensibilidad solucin a)formulacin del modelo matemtico sea x1 la cantidad de kg de pan a consumir cada dia sea x2 la cantidad de Kg de queso a consumir cada dia
-92-
Iteraciones
0 u1 -1 0
0 u2 0 -1
menor
2000
X2 1 200002 1
el mayor
el (+) So
menor
SOLUCION FINAL PROBLEMA DUAL MAX (G) =6000y1+200Y2 s.a 2000Y1 +50Y2 6 4000Y1 +200Y2 21 Y1,Y2 0
-93-
Solucin final
Iteraciones CJ CK 0.0000 0.0000 ZJ Zj-Cj 6,000.0000 0.0000 ZJ Zj-Cj XK B u1 u2 6.0000 21.0000 0.0000 6000 Y1 2,000.0000 4,000.0000 0.0000 -6,000.0000 1.0000 0.0000 6,000.0000 0.0000 200 Y2 200.0000 50.0000 0.0000 -200.0000 0.1000 -350.0000 600.0000 400.0000 0 u1 1.0000 0.0000 0.0000 0.0000 0.0005 -2.0000 3.0000 3.0000 0 u2 0.0000 1.0000 0.0000 0.0000 0.0000 1.0000 0.0000 0.0000 0.0300 0.4200 el menor (+) El menor
el menor (+) SO