taller gusek U Distrital

March 23, 2018 | Author: epuente | Category: Science, Mathematics, Business, Manufacturing And Engineering, Engineering


Comments



Description

Programación Matemática utilizado GUSEK Modelación en GMPL1 Introduction ● GNU MathProg is a modeling language intended for describing linear mathematical programming models. The GNU MathProg language is a subset of the AMPL language. Its GLPK implementation is mainly based on the paper: Robert Fourer, David M. Gay, and Brian W. Kernighan, “A Modeling Language for Mathematical Programming.” Management Science 36 (1990) pp. 519-54. ● 2 Linear Program 3 Model Objects ● In MathProg the model is described in terms of sets, parameters, variables, constraints, and objectives, which are called model objects. The user introduces particular model objects using the language statements. Each model object is provided with a symbolic name that uniquely identifies the object and is intended for referencing purposes. 4 ● Model Objects ● Model objects, including sets, can be multidimensional arrays built over indexing sets. 5 Structure of Model Description ● It is sometimes desirable to write a model which. For this reason in MathProg the model description consists of two parts: model section and data section. at various points. Model section is a main part of the model description that contains declarations of model objects and is common for all problems based on the corresponding model. may require different data for each problem to be solved using that model. Data section is an optional part of the model description that contains data specific for a particular problem. 6 ● ● . variables. Examples • • • ● alpha123 This_is_a_name _P123_abc_321 ● Symbolic names are used to identify model objects (sets. the first of which must be alphabetic. 7 . constraints.Symbolic Names ● A symbolic name consists of alphabetic and numeric characters. objectives) and dummy indices. All symbolic names are distinct (case sensitive). parameters. 78 123.Numeric literals ● Numeric literal has the form xxEsyy.14159 56. Examples ✔ ✔ ✔ ✔ ✔ ● 123 3. yy is an integer decimal exponent.456e-7 8 . The letter E is case insensitive and can be coded as e.E+5 . s is the sign + or -. where xx is a real number with optional decimal point. Reserved Keywords 9 . Delimiters 10 . Comments 11 . Numeric Expressions 12 . Numeric Expressions 13 . Built-in Functions 14 . Built-in functions 15 . Iterated Expressions 16 . Conditional Expressions 17 . Arithmetic Operators 18 . Symbolic Expressions 19 . Indexing mechanisms 20 . Relational Expressions 21 . Logical operators 22 . Linear Expressions 23 . printf statement. any model object must be declared before it is referenced in other statements. display statement.Statements ● Declaration statements (set statement. parameter statement. However. Functional statements (solve statement. Note that declaration statements may follow in arbitrary order which does not affect the result of translation. loop statement) are intended for performing some specific actions. variable statement. and objective statement) are used to declare model objects of certain kinds and define certain properties of that objects. check statement. constraint statement. 24 ● ● . Examples Set statement 25 . Examples Parameter statement 26 . Examples Variable statement 27 . Examples Constraint statement 28 . Examples Objective statement 29 . Examples For statement 30 . Set Data Block 31 . Data Records Examples 32 . Integer Programming and Mixed I.P.P. Puente. 33 .Introducción a Programación Entera Mixta (I.) E. Problema de programación entera mixta: Algunas de las variables toman solo valores enteros.Definiciones iniciales ● Problema de programación entera pura: Todas las variables involucradas toman solamente valores enteros. Problema de programación entera binaria: Problema de programación entera en el cual las variables enteras solo toman los valores de 0 y 1. 34 ● ● . más un costo variable unitario constante por cada unidad producida. Por ejemplo.Problema de costo fijo ● Este problema surge cuando hay un costo fijo en que se incurre por realizar una actividad. pero en el cual no se incurre si la actividad no se lleva a cabo. la producción en una máquina conlleva un costo fijo independiente del volumen de producción. independientemente del nivel al que se desarrolle la actividad. Además existe un costo variable asociado con el nivel al cual se desarrolla la actividad. ● 35 . Ejemplo de Costo Fijo ● Una empresa desea maximizar sus utilidades al producir prendas de vestir (shorts. ¿Cuáles prendas debe fabricar? ¿Cuántas unidades de cada prenda? 36 . aunque produzca solo una unidad. camisetas y pantalones). o dos tipos. o uno solo. La empresa puede producir cualquiera de los tres tipos de prendas. pero si decide producir alguno tiene que rentar la máquina que necesita para ese tipo de prenda. $6 $4 $8 37 .Ejemplo de costo fijo Tipo de Máquina Camiseta Short Pantalón Renta Semanal $200 $150 $100 Mano de Obra (horas por unidad) 3 2 6 150 Tela (m2) 4 3 4 160 Camiseta Short Pantalón Disponibilidad semanal Camiseta Short Pantalón Precio de Venta $12 $8 $15 Costo Variable Unit. Restricciones para el modelo de Costo Fijo ● Para obtener la solución correcta del problema se deben añadir las siguientes restricciones: x 1 ≤ M 1 y1 x2 ≤ M 2 y2 x3 ≤ M 3 y3 Los valores de M se seleccionan suficientemente grandes. tratando de encontrar el mínimo valor adecuado (cualquier valor de M suficientemente grande es adecuado). 38 . por las diferencias de magnitud de los coeficientes del problema.t. y 3 = 0 ó 1. x 3 ≥ 0 . ¿por qué?. Nótese que cualquier valor mayor a estos. y1. por ejemplo los 3 iguales a 10000 funcionarían. Los valores de las M's en este ejemplo son 40.Formulación final max z = 6x1 +4x 2 +7x 3 −200y 1 −150y 2 −100 y 3 s. : 3x 1 +2x 2 +6x 3 ≤ 150 4x1 +3x 2 +4x 3 ≤ 160 x 1 ≤ 40y 1 x 2 ≤ 53y 2 x 3 ≤ 25y 3 x 1. porque valores muy grandes afectarían la precisión de la solución numérica del problema. y 2. Sin embargo. 39 . se busca en los posible usar valores de M apenas suficientemente grandes. x 2. 53 y 25. M_de_O: 3*x1 + 2*x2 + 6*x3 <= 150. binary. var x2>=0 . var y3. /*Tela*/ subject to Tela: 4*x1 + 3*x2 + 4*x3 <= 160. /*Restricciones de uso de las máquinas*/ camiseta: x1 <= 40*y1. 40 .t. end. var x3>=0 .Formulación para GUSEK /* Variables*/ var x1 >=0 .150*y2 . binary.100*y3. short: x2 <= 53*y2. /*Mano de Obra*/ s. pantalon: x3 <= 25*y3. var y1. binary . /*Función Objetivo*/ maximize utilidad: 6*x1 + 4*x2 + 7*x3 . var y2.200*y1 . var y3. short: x2 <= 53*y2.100*y3. var x2>=0 . end. var y2. /*Tela*/ subject to Tela: 4*x1 + 3*x2 + 4*x3 <= 160. /*Mano de Obra*/ s. var x3>=0 .Formulación para GUSEK /* Variables*/ var x1 >=0 . /*Función Objetivo*/ maximize utilidad: 6*x1 + 4*x2 + 7*x3 . pantalon: x3 <= 25*y3. binary . M_de_O: 3*x1 + 2*x2 + 6*x3 <= 150.t. binary. binary. /*Restricciones de uso de las máquinas*/ camiseta: x1 <= 40*y1.200*y1 150*y2 . 41 . var y1. east y south. Volumen diario de pagos recibidos: Región Volumen ($ 000) W 70 M 50 E 60 S 40 Días necesarios para recibir un pago de cada región a cada una de 4 posibles oficinas de proceso de pagos. west.The LockBox Problem LOCKBOX PROBLEM. Nickles recibe pagos desde 4 regiones. W M E S LA 2 6 8 8 CHI 6 2 5 5 NY 8 5 2 5 ATL 8 5 5 2 42 . midwest. La operación de cada oficina de proceso de pagos cuesta $50.The LockBox problem La empresa pierde 20% de interés anual por cada día que los pagos están en tránsito. 43 . ¿Cuáles oficinas debe operar para minimizar sus costos?.000 anuales. Considera que cada región enviará sus pagos a una sola oficina de proceso. La empresa puede operar desde 1 hasta 4 oficinas de proceso de pagos. J in oficina}>=0. J in oficina}: ENVIOS[I.J] = 1. var ENVIOS{I in region. param MONTO {I in region}. J in oficina}. J in oficina} ENVIOS[I. subject to UNICIDAD{I in region}: sum{J in oficina} ENVIOS[I. param FIJO{J in oficina}. param FIJO := LA 50000 CHI 50000 NY 50000 ATL 50000. data. set oficina. J in oficina} := 0. binary. set oficina:= LA CHI NY ATL. var OPERA{K in oficina}. subject to SIOPERA{I in region.J] <= OPERA[J]. param TASA{I in region.J]*TASA[I. minimize COSTO: sum{I in region.20*DIAS[I. param MONTO := W 70000 M 50000 E 60000 S 40000.J]/365. param DIAS{I in region. set region := W M E S.The LockBox problem set region. param DIAS: LA CHI NY ATL := W 2 6 8 8 M 6 2 5 5 E 8 5 2 5 S 8 5 5 2 44 .J]*MONTO[I]+ sum {K in oficina} FIJO[K]*OPERA[K]. x 2. 45 . x 2.Restricciones “either-or” Esta situación se presenta cuando un problema tiene dos restricciones de la forma: ● f  x 1. . x n  ≤ 0 ● Y queremos asegurarnos de que al menos una se cumple. .... . x n  ≤ 0 g  x 1.. . Restricciones “either-or” Agregar las siguientes dos restricciones a la formulación: ● f  x 1. . x n  ≤ My g  x 1. .. x 2. ... x n  ≤ M 1− y y = 0ó1 46 . x 2. .. 47 .Ejemplo (Mixed Integer / Linear Programming) La ensambladora de autos Mexauto está considerando fabricar tres tipos de autos: coupé. En la tabla se muestran los consumos de mano de obra y acero requeridos por cada auto según su tipo. sedán y pickup. la utilidad unitaria de cada tipo y la disponibilidad de recursos para esta semana: Coupé 1. Formula un problema de programación entera mixta para determinar el número de unidades a producir de cada tipo de vehículo para maximizar las utilidades semanales.5 Ton 30 horas $2000 Sedán 3 Ton 25 horas $3000 PickUp 5 Ton 40 horas $4000 Recursos disponibles 6000 Ton 60000 horas Acero consumido por unidad M de O requerida por unidad Utilidad por unidad Para que la fabricación de un tipo de auto sea rentable deben producirse al menos 1000 unidades de ese tipo en una semana. ● ● ● 48 .Formulación del ejemplo ¿Cuáles son la restricciones “either-or” en este problema? ¿Cuáles son los valores apropiados de M? Resuelve el problema utilizando LINGO. entonces la restricción: g  x 1. . . x 2.. x n   0 debe cumplirse. x n  ≥ 0 debe también cumplirse. x 2... 49 .Restricciones “if-then” (1) ● Este tipo de restricciones aparecen cuando en un problema ocurre que si una restriccion: ● ● ● ● ● ● f  x 1.. . . x n ) > 0 ● no se satisface. . . entonces la restricción: g ( x 1. x 2.Restricciones “if-then” (2) ● Y si la restriccion: f ( x 1. x 2. f True False g True True or false 50 .. . ... x n ) ≥ 0 ● puede o no cumplirse.. . ..... x 2. x n  ≤ My f  x 1. x 2. x n  ≤ M 1− y  y = 0ó1 51 .Restricciones “if-then” (2) ● Agregar las siguientes restricciones a la formulación: −g  x1. . . in {1.. set E. param t.. data. param s := 1.j) in E}. var x{(i.n}.i) in E} x[j.j) in E} x[i.j) in E} c[i... param t := 6.j] + (if i = t then 1). 52 . >= 0..n. param n := 8. j in 1. s. within {i in 1.. r{i in 1.i] + (if i = s then 1) = sum{(i. integer. in {1.. param : E : c := 1 2 1 1 4 8 … etc.j) in E}. param s.j] * x[i.n}: sum{(j. > 0.n}.t. minimize Z: sum{(i.The Shortest Path Problem param n. param c{(i.n}.j].
Copyright © 2024 DOKUMEN.SITE Inc.