01_641_intro

download 01_641_intro

of 47

Transcript of 01_641_intro

  • Overview GAMS/GAMSIDE Formulation

    First Look at GAMS and GAMSIDE

    An Introduction

    Pei Huang

    1

    1

    Department of Agricultural Economics

    Texas A&M University

    Based on materials written by Gillig & McCarl and improved upon by many previous lab instructors

    Special thanks to Mario Andres Fernandez

    Pei Huang | Texas A&M University | AGEC 641 Lab Session, Fall 2013 1 / 19

  • Overview GAMS/GAMSIDE Formulation

    Outline

    1 Overview

    Information

    Topics

    2 Introduction to GAMS/GAMSIDE

    GAMS Language

    GAMSIDE

    3 Formulation of a Simple Problem

    An Example

    Model Specications in GAMS

    GAMS Output

    GAMS Project

    Pei Huang | Texas A&M University | AGEC 641 Lab Session, Fall 2013 2 / 19

  • Overview GAMS/GAMSIDE Formulation

    Info

    Oce: AGLS 386

    Email: [email protected] or [email protected]

    Oce hour: Open door policy or by appointment

    Class time: 8:00am - 9:00am, Thursday. We may have more sessions

    in a week whenever Dr. McCarl is traveling. I will email you when

    there is a change.

    Total 10-12 sessions

    Pei Huang | Texas A&M University | AGEC 641 Lab Session, Fall 2013 3 / 19

  • Overview GAMS/GAMSIDE Formulation

    Info

    Purpose: Connect lecture materials to practical programming in

    GAMS.

    You will do Handson exercises, plus additional model exposure in lab

    but no assigned.

    6 assignments

    Equally weighted

    Usually one week after assignment, by 5 pm

    Printed / electronic copy

    For FULL CREDIT use good modeling practices

    Descriptive variable names (demand and inputs not x and y)

    Use descriptive text

    Organize programs for a clear ow

    I need to see that you understand the problem, not just programming

    Pei Huang | Texas A&M University | AGEC 641 Lab Session, Fall 2013 4 / 19

  • Overview GAMS/GAMSIDE Formulation

    Topics

    First Look at GAMS and GAMSIDE

    Formulation of A General Problem

    Model Inspection & Error Messages

    Power of GAMS

    Good Modeling Practices

    Pei Huang | Texas A&M University | AGEC 641 Lab Session, Fall 2013 5 / 19

  • Overview GAMS/GAMSIDE Formulation

    Topics

    First Look at GAMS and GAMSIDE

    Formulation of A General Problem

    Model Inspection & Error Messages

    Power of GAMS

    Good Modeling Practices

    Pei Huang | Texas A&M University | AGEC 641 Lab Session, Fall 2013 5 / 19

  • Overview GAMS/GAMSIDE Formulation

    Topics

    First Look at GAMS and GAMSIDE

    Formulation of A General Problem

    Model Inspection & Error Messages

    Power of GAMS

    Good Modeling Practices

    Pei Huang | Texas A&M University | AGEC 641 Lab Session, Fall 2013 5 / 19

  • Overview GAMS/GAMSIDE Formulation

    Topics

    First Look at GAMS and GAMSIDE

    Formulation of A General Problem

    Model Inspection & Error Messages

    Power of GAMS

    Good Modeling Practices

    Pei Huang | Texas A&M University | AGEC 641 Lab Session, Fall 2013 5 / 19

  • Overview GAMS/GAMSIDE Formulation

    Topics

    First Look at GAMS and GAMSIDE

    Formulation of A General Problem

    Model Inspection & Error Messages

    Power of GAMS

    Good Modeling Practices

    Pei Huang | Texas A&M University | AGEC 641 Lab Session, Fall 2013 5 / 19

  • Overview GAMS/GAMSIDE Formulation

    Topics

    Conditionals

    GAMS Check: Pre/Post Solution Analysis

    Examining A Model for Flaws

    Report Writing

    Comparative Analysis: Multiple Submissions and Loops

    Non-linear Programming Problems

    Pei Huang | Texas A&M University | AGEC 641 Lab Session, Fall 2013 6 / 19

  • Overview GAMS/GAMSIDE Formulation

    Topics

    Conditionals

    GAMS Check: Pre/Post Solution Analysis

    Examining A Model for Flaws

    Report Writing

    Comparative Analysis: Multiple Submissions and Loops

    Non-linear Programming Problems

    Pei Huang | Texas A&M University | AGEC 641 Lab Session, Fall 2013 6 / 19

  • Overview GAMS/GAMSIDE Formulation

    Topics

    Conditionals

    GAMS Check: Pre/Post Solution Analysis

    Examining A Model for Flaws

    Report Writing

    Comparative Analysis: Multiple Submissions and Loops

    Non-linear Programming Problems

    Pei Huang | Texas A&M University | AGEC 641 Lab Session, Fall 2013 6 / 19

  • Overview GAMS/GAMSIDE Formulation

    Topics

    Conditionals

    GAMS Check: Pre/Post Solution Analysis

    Examining A Model for Flaws

    Report Writing

    Comparative Analysis: Multiple Submissions and Loops

    Non-linear Programming Problems

    Pei Huang | Texas A&M University | AGEC 641 Lab Session, Fall 2013 6 / 19

  • Overview GAMS/GAMSIDE Formulation

    Topics

    Conditionals

    GAMS Check: Pre/Post Solution Analysis

    Examining A Model for Flaws

    Report Writing

    Comparative Analysis: Multiple Submissions and Loops

    Non-linear Programming Problems

    Pei Huang | Texas A&M University | AGEC 641 Lab Session, Fall 2013 6 / 19

  • Overview GAMS/GAMSIDE Formulation

    Topics

    Conditionals

    GAMS Check: Pre/Post Solution Analysis

    Examining A Model for Flaws

    Report Writing

    Comparative Analysis: Multiple Submissions and Loops

    Non-linear Programming Problems

    Pei Huang | Texas A&M University | AGEC 641 Lab Session, Fall 2013 6 / 19

  • Overview GAMS/GAMSIDE Formulation

    What is GAMS?

    Generalized Algebraic Modeling System

    A programming language for setting up and solving mathematical

    programming optimization models

    All-In-One Package that allows one to

    Specify the structure of an optimization model

    Specify and calculate data that go into the model

    Solve that model

    Conduct report writing on a model

    Perform a comparative static analysis

    Pei Huang | Texas A&M University | AGEC 641 Lab Session, Fall 2013 7 / 19

  • Overview GAMS/GAMSIDE Formulation

    What is GAMS IDE?

    Integrated Development Environment

    A graphical interface to create, debug, edit and run GAMS les

    Download the free version from GAMS website

    http://www.gams.com/download/

    Pei Huang | Texas A&M University | AGEC 641 Lab Session, Fall 2013 8 / 19

  • Overview GAMS/GAMSIDE Formulation

    A simple problem

    Suppose we wish to solve the optimization problem

    max 3Xbread +10Xmeat +18Xwine Objective

    s.t. 1.5Xbread +6Xmeat +8Xwine 20 Money5Xbread +10Xmeat +30Xwine 60 TimeXbread 0.8 SustenanceXbread , Xmeat , Xwine 0

    Variables: Xbread , Xmeat , Xwine

    Equations

    Objective

    Constraints: Money, Time, Sustenance

    Pei Huang | Texas A&M University | AGEC 641 Lab Session, Fall 2013 9 / 19

  • Overview GAMS/GAMSIDE Formulation

    Using GAMS

    Variable specications

    Objective function

    Considered variables

    Equation specications

    Declaration

    Algebraic structure

    specication

    Model statement

    Solve statement

    Pei Huang | Texas A&M University | AGEC 641 Lab Session, Fall 2013 10 / 19

  • Overview GAMS/GAMSIDE Formulation

    Using GAMS

    Variable specications

    Objective function

    Considered variables

    Equation specications

    Declaration

    Algebraic structure

    specication

    Model statement

    Solve statement

    Pei Huang | Texas A&M University | AGEC 641 Lab Session, Fall 2013 10 / 19

  • Overview GAMS/GAMSIDE Formulation

    Using GAMS

    Variable specications

    Objective function

    Considered variables

    Equation specications

    Declaration

    Algebraic structure

    specication

    Model statement

    Solve statement

    Pei Huang | Texas A&M University | AGEC 641 Lab Session, Fall 2013 10 / 19

  • Overview GAMS/GAMSIDE Formulation

    Using GAMS

    Variable specications

    Objective function

    Considered variables

    Equation specications

    Declaration

    Algebraic structure

    specication

    Model statement

    Solve statement

    Pei Huang | Texas A&M University | AGEC 641 Lab Session, Fall 2013 10 / 19

  • Overview GAMS/GAMSIDE Formulation

    Using GAMS

    Variable specications

    Objective function

    Considered variables

    Equation specications

    Declaration

    Algebraic structure

    specication

    Model statement

    Solve statement

    Pei Huang | Texas A&M University | AGEC 641 Lab Session, Fall 2013 10 / 19

  • Overview GAMS/GAMSIDE Formulation

    Using GAMS

    Variable specications

    Objective function

    Considered variables

    Equation specications

    Declaration

    Algebraic structure

    specication

    Model statement

    Solve statement

    Pei Huang | Texas A&M University | AGEC 641 Lab Session, Fall 2013 10 / 19

  • Overview GAMS/GAMSIDE Formulation

    Using GAMS

    Variable specications

    Objective function

    Considered variables

    Equation specications

    Declaration

    Algebraic structure

    specication

    Model statement

    Solve statement

    Pei Huang | Texas A&M University | AGEC 641 Lab Session, Fall 2013 10 / 19

  • Overview GAMS/GAMSIDE Formulation

    Variable Specication

    Types of variables

    Variable Unrestricted variables

    Positive Variable Nonnegative

    Binary Variable 0 or 1

    Integer Variable 0, 1, 2, . . . , 9999

    GAMS requires variables

    in each problem to be

    identied.

    The objective function

    together has to be dened

    as a variable.

    Variable names can be up

    to 64 characters and can

    have explanatory text.

    Pei Huang | Texas A&M University | AGEC 641 Lab Session, Fall 2013 11 / 19

  • Overview GAMS/GAMSIDE Formulation

    Variable Specication

    Types of variables

    Variable Unrestricted variables

    Positive Variable Nonnegative

    Binary Variable 0 or 1

    Integer Variable 0, 1, 2, . . . , 9999

    GAMS requires variables

    in each problem to be

    identied.

    The objective function

    together has to be dened

    as a variable.

    Variable names can be up

    to 64 characters and can

    have explanatory text.

    Pei Huang | Texas A&M University | AGEC 641 Lab Session, Fall 2013 11 / 19

  • Overview GAMS/GAMSIDE Formulation

    Variable Specication

    Types of variables

    Variable Unrestricted variables

    Positive Variable Nonnegative

    Binary Variable 0 or 1

    Integer Variable 0, 1, 2, . . . , 9999

    GAMS requires variables

    in each problem to be

    identied.

    The objective function

    together has to be dened

    as a variable.

    Variable names can be up

    to 64 characters and can

    have explanatory text.

    Pei Huang | Texas A&M University | AGEC 641 Lab Session, Fall 2013 11 / 19

  • Overview GAMS/GAMSIDE Formulation

    Variable Specication

    Types of variables

    Variable Unrestricted variables

    Positive Variable Nonnegative

    Binary Variable 0 or 1

    Integer Variable 0, 1, 2, . . . , 9999

    GAMS requires variables

    in each problem to be

    identied.

    The objective function

    together has to be dened

    as a variable.

    Variable names can be up

    to 64 characters and can

    have explanatory text.

    Pei Huang | Texas A&M University | AGEC 641 Lab Session, Fall 2013 11 / 19

  • Overview GAMS/GAMSIDE Formulation

    Equation Specication

    Name each equation in

    the model.

    Specify the algebraic

    structure.

    Two dots following each

    equation name

    The specic forms of

    constraints

    Syntax Constraint forms

    =e= equal

    =l= less than or equal

    =g= greater than or equal

    Pei Huang | Texas A&M University | AGEC 641 Lab Session, Fall 2013 12 / 19

  • Overview GAMS/GAMSIDE Formulation

    Equation Specication

    Name each equation in

    the model.

    Specify the algebraic

    structure.

    Two dots following each

    equation name

    The specic forms of

    constraints

    Syntax Constraint forms

    =e= equal

    =l= less than or equal

    =g= greater than or equal

    Pei Huang | Texas A&M University | AGEC 641 Lab Session, Fall 2013 12 / 19

  • Overview GAMS/GAMSIDE Formulation

    Equation Specication

    Name each equation in

    the model.

    Specify the algebraic

    structure.

    Two dots following each

    equation name

    The specic forms of

    constraints

    Syntax Constraint forms

    =e= equal

    =l= less than or equal

    =g= greater than or equal

    Pei Huang | Texas A&M University | AGEC 641 Lab Session, Fall 2013 12 / 19

  • Overview GAMS/GAMSIDE Formulation

    Equation Specication

    Name each equation in

    the model.

    Specify the algebraic

    structure.

    Two dots following each

    equation name

    The specic forms of

    constraints

    Syntax Constraint forms

    =e= equal

    =l= less than or equal

    =g= greater than or equal

    Pei Huang | Texas A&M University | AGEC 641 Lab Session, Fall 2013 12 / 19

  • Overview GAMS/GAMSIDE Formulation

    Equation Specication

    Name each equation in

    the model.

    Specify the algebraic

    structure.

    Two dots following each

    equation name

    The specic forms of

    constraints

    Syntax Constraint forms

    =e= equal

    =l= less than or equal

    =g= greater than or equal

    Pei Huang | Texas A&M University | AGEC 641 Lab Session, Fall 2013 12 / 19

  • Overview GAMS/GAMSIDE Formulation

    Model Statement

    Name the model

    Specify equations that will

    be included in the model

    in slashes / /

    Examples

    Model Consumption1 /All/;

    Model Consumption2 /objective, money, time/;

    Pei Huang | Texas A&M University | AGEC 641 Lab Session, Fall 2013 13 / 19

  • Overview GAMS/GAMSIDE Formulation

    Model Statement

    Name the model

    Specify equations that will

    be included in the model

    in slashes / /

    Examples

    Model Consumption1 /All/;

    Model Consumption2 /objective, money, time/;

    Pei Huang | Texas A&M University | AGEC 641 Lab Session, Fall 2013 13 / 19

  • Overview GAMS/GAMSIDE Formulation

    Solve Statement

    Examples

    SOLVE Consumption USINGLP Maximizing Utility;

    SOLVE Consumption USINGLP Minimizing Disutility;

    SOLVE Consumption USINGMIP Maximizing Utility;

    SOLVE Consumption USINGNLP Maximizing Utility;

    Pei Huang | Texas A&M University | AGEC 641 Lab Session, Fall 2013 14 / 19

  • Overview GAMS/GAMSIDE Formulation

    Heads Up for Semi-colons

    Each declaration must

    terminate with a ;.

    Statements may be

    several lines long or may

    contain several elements.

    Omission would lead to

    (many) Syntax Errors!

    Pei Huang | Texas A&M University | AGEC 641 Lab Session, Fall 2013 15 / 19

  • Overview GAMS/GAMSIDE Formulation

    GAMS Output

    Output navigation

    Objective function

    solution

    Equation solutions

    Variable solutions

    Pei Huang | Texas A&M University | AGEC 641 Lab Session, Fall 2013 16 / 19

  • Overview GAMS/GAMSIDE Formulation

    GAMS Output

    Output navigation

    Objective function

    solution

    Equation solutions

    Variable solutions

    Pei Huang | Texas A&M University | AGEC 641 Lab Session, Fall 2013 16 / 19

  • Overview GAMS/GAMSIDE Formulation

    GAMS Output

    Output navigation

    Objective function

    solution

    Equation solutions

    Variable solutions

    Pei Huang | Texas A&M University | AGEC 641 Lab Session, Fall 2013 16 / 19

  • Overview GAMS/GAMSIDE Formulation

    GAMS Output

    Output navigation

    Objective function

    solution

    Equation solutions

    Variable solutions

    Pei Huang | Texas A&M University | AGEC 641 Lab Session, Fall 2013 16 / 19

  • Overview GAMS/GAMSIDE Formulation

    GAMS Output

    Output navigation

    Objective function

    solution

    Equation solutions

    Variable solutions

    Pei Huang | Texas A&M University | AGEC 641 Lab Session, Fall 2013 16 / 19

  • Overview GAMS/GAMSIDE Formulation

    GAMS Project

    *.gpr: GAMS project le

    *.gms: GAMS le where to write program codes BEFORE the model

    runs

    *.lst: GAMS output le generated AFTER the model runs

    *.log: GAMS log le generated WHILE the model runs

    Pei Huang | Texas A&M University | AGEC 641 Lab Session, Fall 2013 17 / 19

  • Overview GAMS/GAMSIDE Formulation

    GAMS Project

    *.gpr: GAMS project le

    *.gms: GAMS le where to write program codes BEFORE the model

    runs

    *.lst: GAMS output le generated AFTER the model runs

    *.log: GAMS log le generated WHILE the model runs

    Pei Huang | Texas A&M University | AGEC 641 Lab Session, Fall 2013 17 / 19

  • Appendix

    Heads On 1

    Sove the feeding problem using GAMS

    min 3Xcorn+4Xhay +5Xsoybeans Cost/lb

    s.t. 0.01Xcorn+0.07Xhay +0.03Xsoybeans 0.05 Protein0.02Xcorn+0.14Xhay +0.1Xsoybeans 0.09 Vitamin AXcorn+Xhay +Xsoybeans = 1 Unit

    Xcorn, Xhay , Xsoybeans 0 Nonnegative

    1 Set up the model in GAMS and solve it.

    2 Solve the model when the corn price increases to $6?

    3 Solve the model when the minimum requirement of vitamin A is set to

    zero?

    Pei Huang | Texas A&M University | AGEC 641 Lab Session, Fall 2013 18 / 19

  • Appendix

    Requirements

    Create HandsOn1.gms with * your name on the rst line of the code.

    A good programming habit: make comments in your code.

    Turn in an electronic copy of *.gms le for Part 1 via email.

    Turn in a hard copy of *.lst le (from Solution Report to the end) for

    ALL three parts.

    You can work as a group with no more than three people.

    The hands on is due by 5:00pm, September 12.

    Pei Huang | Texas A&M University | AGEC 641 Lab Session, Fall 2013 19 / 19

    OverviewInformationTopics

    Introduction to GAMS/GAMSIDEGAMS LanguageGAMSIDE

    Formulation of a Simple ProblemAn ExampleModel Specifications in GAMSGAMS OutputGAMS Project

    Appendix