WhatisAMPL,andWhatisitNot? ProductionModels:MaximizingProfits DietandOtherInputModels:MinimizingCosts Math 5593 Linear Programming Week 2 2. Intro to AMPL University of Colorado Denver, Fall 2013, Prof. Engau 1 What is AMPL, and What is it Not? 2 Production Models: Maximizing Profits 3 Diet and Other Input Models: Minimizing Costs Math5593LinearProgramming-Fall2013-Week2-UnitI:Models&Applications 2.IntrotoAMPL WhatisAMPL,andWhatisitNot? ProductionModels:MaximizingProfits DietandOtherInputModels:MinimizingCosts AMPL Website, Software, and Book (free downloads) AMPL Website (provides downloads, examples, and more) http://www.ampl.com Software: academic or 30-day trial (unrestricted); permanent student version (limited to 300 variables and 300 constraints) Math5593LinearProgramming-Fall2013-Week2-UnitI:Models&Applications 2.IntrotoAMPL WhatisAMPL,andWhatisitNot? ProductionModels:MaximizingProfits DietandOtherInputModels:MinimizingCosts What is AMPL, and What is it Not? Recallthefollowinggeneralstepsforsolvingareal-lifeproblem: 1 Model Formulation: the representation of real-life decision problems as abstract system of variables, objectives, and constraints that represent the general form of the problem 2 Data Collection (Statistics): the use of statistical methods to collect available data and estimate unknown parameters thatdefinethespecificinstanceoftheproblemtobesolved 3 Problem Generation: the formulation of a specific objective function and constraint equations from the model and data 4 Computational Optimization: the execution of a program or solver that applies a numerical algorithm to find an optimal solution and assign optimal values to all decision variables 5 Decision Analysis: the interpretation of this solution for the original problem and evaluation of its practical relevance Math5593LinearProgramming-Fall2013-Week2-UnitI:Models&Applications 2.IntrotoAMPL WhatisAMPL,andWhatisitNot? ProductionModels:MaximizingProfits DietandOtherInputModels:MinimizingCosts AMPL - A Modeling Language for Math Programming AMPLisamodelinglanguage(“matrixgenerator”),notasolver! enables the formulation of models using “natural” language “understands” certain conditional or logical statements uses additionally specified data to translate these statements into algebraic form as input to a solver AMPL supports many commercial and open-source solvers: CPLEX (linear and convex quadratic with mixed-integer) GUROBI (linear and convex quadratic with mixed-integer) LPSOLVE (linear with mixed-integer) MINOS (linear and general nonlinear) SNOPT (general nonlinear) For a full list, see http://www.ampl.com/solvers.html Math5593LinearProgramming-Fall2013-Week2-UnitI:Models&Applications 2.IntrotoAMPL WhatisAMPL,andWhatisitNot? ProductionModels:MaximizingProfits DietandOtherInputModels:MinimizingCosts Other Online Sources for Optimization Software COmputational INfrastructure for Operations Research http://www.coin-or.org NEOS (Network-Enabled Optimization System) Server http://neos.mcs.anl.gov/neos Math5593LinearProgramming-Fall2013-Week2-UnitI:Models&Applications 2.IntrotoAMPL WhatisAMPL,andWhatisitNot? ProductionModels:MaximizingProfits DietandOtherInputModels:MinimizingCosts A Mythical Steelmaking Operation (AMPL Book Ch. 1) Problem: A steel company must decide how to allocate next week’s time on a rolling mill. The mill takes unfinished slabs of steel as input and can produce two semi-finished products: bands or coils. The mill’s two products come off the rolling line at different rates and have different profitabilities. To further complicate matters, weekly production amounts must be limited to not exceed currently booked orders. How many bands and coils should be produced to bring in the greatest total profit? Solution: We will use the five-step process outlined above: 1 Model Formulation: define variables, constraints, objective 2 Data Collection: find actual values for problem parameters 3 Problem Generation: convert problem into algorithmic form 4 Computational Optimization: run solver and get solution 5 Decision Analysis: does the solution make sense? Math5593LinearProgramming-Fall2013-Week2-UnitI:Models&Applications 2.IntrotoAMPL WhatisAMPL,andWhatisitNot? ProductionModels:MaximizingProfits DietandOtherInputModels:MinimizingCosts Mythical Steelmaking Step 1. Model Formulation Math5593LinearProgramming-Fall2013-Week2-UnitI:Models&Applications 2.IntrotoAMPL WhatisAMPL,andWhatisitNot? ProductionModels:MaximizingProfits DietandOtherInputModels:MinimizingCosts Mythical Steelmaking Step 1. A First AMPL Model set (index set, can be used in sums/other model entities) param (data parameter, can be indexed, must get value) var (decision variables, can be indexed, can be fixed) max(imize)/min(imize) (objective, must be named) subject to (constraint, can be indexed, must be named) Math5593LinearProgramming-Fall2013-Week2-UnitI:Models&Applications 2.IntrotoAMPL WhatisAMPL,andWhatisitNot? ProductionModels:MaximizingProfits DietandOtherInputModels:MinimizingCosts Mythical Steelmaking Step 2. Data Collection (AMPL) Tons per hour: Bands 200 Coils 140 Profit per ton: Bands $25 Coils $30 Maximum tons: Bands 6,000 Coils 4,000 Available time on mill in hours: 40 Math5593LinearProgramming-Fall2013-Week2-UnitI:Models&Applications 2.IntrotoAMPL WhatisAMPL,andWhatisitNot? ProductionModels:MaximizingProfits DietandOtherInputModels:MinimizingCosts Steps 3 (and 4): Problem Generation (and Solution) maximize 25x +30x B C 1 1 subject to x + x ≤ 40 B C 200 140 0 ≤ x ≤ 6000 B 0 ≤ x ≤ 4000 C Math5593LinearProgramming-Fall2013-Week2-UnitI:Models&Applications 2.IntrotoAMPL
Description: