1 Consultant hiring problem: Modeling on AMPL. 2 Outline of modeling process 1.Carefully read the problem to get a general idea 2.Analyze each paragraph.

Slides:



Advertisements
Similar presentations
SCIP Optimization Suite
Advertisements

Linear Programming Problem. Introduction Linear Programming was developed by George B Dantzing in 1947 for solving military logistic operations.
Linear Programming. Introduction: Linear Programming deals with the optimization (max. or min.) of a function of variables, known as ‘objective function’,
IP modeling techniques I In this handout, Modeling techniques:  Using binary variables  Restrictions on number of options  Contingent decisions  Variables.
Solving Linear Programming Models. Topics Computer Solution Sensitivity Analysis.
Session II – Introduction to Linear Programming
Modeling problems with Integer Linear Programming (ILP) Name: Chuan Huang.
Introduction to Computer Programming in C
Tenure and Promotion The Process: –Outlined in Article 15 of the FTCA. When you are granted tenure, you are also promoted to Associate (15.7.6). One application.
Using Excel Solver for Linear Optimization Problems
Writing SPSS Reports. Assumptions You have taken 100W You achieved basic competence in writing in 100w You have basic competence using a word processing.
So far all our functions were linear. In many situations, it might not be the case. Example: Production cost. – c 1 = $11/unit for first 5 items – c 2.
Program Design and Development
Integer Programming Integer programming is a solution method for many discrete optimization problems Programming = Planning in this context Origins go.
1 Production and Costs in the Long Run. 2 The long run u The long run is the time frame longer or just as long as it takes to alter the plant. u Thus.
1 Linear Programming Using the software that comes with the book.
Lecture outline Support vector machines. Support Vector Machines Find a linear hyperplane (decision boundary) that will separate the data.
IP modeling techniques II
AMPL Presentation 1 By Raymond Kleinberg Outline AMPL - Ugh! - What is it good for? Basics Starting a Problem Running the Problem Example.
IP modeling techniques III In this handout, Modeling techniques:  Making choices with non-binary variables  Piecewise linear functions.
Chapter 4 An Introduction to Optimization
The Writing Process Introduction Prewriting Writing Revising
A brief maximum entropy tutorial. Overview Statistical modeling addresses the problem of modeling the behavior of a random process In constructing this.
EMIS Lecture 3 – pages Pi Hybrids Model On Page 39 FacilitiesSales Regions OK TX MI AR LA TN 4x6=24.
Integer Programming Models
Introduction to Linear Programming
Data Structures & AlgorithmsIT 0501 Algorithm Analysis I.
Optimization Models Mathematical optimization models usually contain an objective (what to do) constraints (the rules that must be followed). Also referred.
STDM - Linear Programming 1 By Isuru Manawadu B.Sc in Accounting Sp. (USJP), ACA, AFM
Integer Programming Integer programming is a solution method for many discrete optimization problems Programming = Planning in this context Origins go.
Types of IP Models All-integer linear programs Mixed integer linear programs (MILP) Binary integer linear programs, mixed or all integer: some or all of.
Documentation and Comments. What’s a comment? A comment is a simple form of documentation. Documentation is text that you the programmer write to explain.
Doctor Scheduling at Baystate Hospital Rohan Khatau Claudio Stefan.
Linear Programming with Excel Solver.  Use Excel’s Solver as a tool to assist the decision maker in identifying the optimal solution for a business decision.
In The Name Of Allah Lab 07 ins. Tahani Aldweesh.
Managerial Economics Managerial Economics = economic theory + mathematical eco + statistical analysis.
Week 8: Decisions Bryan Burlingame 21 October 2015.
1 A Linear Programming model seeks to maximize or minimize a linear function, subject to a set of linear constraints. The linear model consists of the.
Integer Programming (정수계획법)
3.4: Linear Programming Objectives: Students will be able to… Use linear inequalities to optimize the value of some quantity To solve linear programming.
CONFIDENTIAL1 Good Afternoon! Today we will be learning about Variables & equations Let’s warm up : Write an algebraic expression for the following: 3)
Integer Programming. Programming = Planning in this context Origins go back to military logistics in WWII (1940s). In a survey of Fortune 500 firms, 85%
INTRODUCTION TO PROGRAMMING. Program Development Life Cycle The program development life cycle is a model that describes the stages involved in a program.
Linear Programming.  Linear Programming provides methods for allocating limited resources among competing activities in an optimal way.  Linear → All.
Writing a summary. To write a summary, use your own words to express briefly the main idea and relevant details of the piece you have read. Your purpose.
Warm-upWarm-up Sketch the region bounded by the system of inequalities: 1) 2) Sketch the region bounded by the system of inequalities: 1) 2)
 Examine and list some conventional meanings  Possibly consult an unabridged dictionary  Examine differences of opinion regarding the word  The different.
Sullivan Algebra and Trigonometry: Section 12.9 Objectives of this Section Set Up a Linear Programming Problem Solve a Linear Programming Problem.
Linear Programming Wyndor Glass Co. 3 plants 2 new products –Product 1: glass door with aluminum framing –Product 2: 4x6 foot wood frame window.
1 Geometrical solution of Linear Programming Model.
Control Flow Testing Handouts
Handouts Software Testing and Quality Assurance Theory and Practice Chapter 4 Control Flow Testing
Lecture 3: Linear Regression (with One Variable)
Orange Grove Management
Outline of the Chapter Basic Idea Outline of Control Flow Testing
Linear Programming Wyndor Glass Co. 3 plants 2 new products
6-2 Solving Systems using Substitution
السيولة والربحية أدوات الرقابة المالية الوظيفة المالية
Integer Programming (정수계획법)
Linear Programming Objectives: Set up a Linear Programming Problem
Scientific Processes Scientific Method.
A Mathematical Programming Language
Linear Programming Example: Maximize x + y x and y are called
Linear Programming Introduction.
Integer Programming.
Integer Programming (정수계획법)
Copyright © 2014, 2010, 2007 Pearson Education, Inc.
Linear Programming Introduction.
Outline Software Development Activities
Presentation transcript:

1 Consultant hiring problem: Modeling on AMPL

2 Outline of modeling process 1.Carefully read the problem to get a general idea 2.Analyze each paragraph to extract all relevant data and information: a)Identify given data and define corresponding sets, parameters. b)Identify the goal of the problem and define a corresponding objective function (in this stage might be in English; will get a linear function after defining all necessary data and variables). c)The goal can be achieved by making certain decisions. Define decision variables when those are obviously implied by the problem statement. More variables might be defined later. d)Identify the constraints of the system and state them in English (will express in linear functions after defining all relevant data and variables).

3 Outline of modeling process 3. Put everything together to get a coherent model. In this stage, all the constraints and the objective function are translated into linear functions. Might need to define new data and variables to accomplish it. 4. Solve by an IP software (AMPL in our case). The software output might prompt what are the deficiencies of the model and how those can be fixed.

4 Relevant Information from Paragraph 1 set I; # set of projects param profit{i in I}; #profits from projects excluding consulting costs

5 Possible data for Paragraph 1 parameters and sets set I:= A B C D; param profit[*] := A250 B300 C200 D400 ;

6 Relevant Information from Paragraph 2 set J; # set of consultants param cost{j in J}; # weekly cost of consultant j set ATTR; # set of K attributes param cons_attr{j in J, k in ATTR}; # is 1 if consultant j possesses attribute k, 0 otherwise

7 Possible data for Paragraph 2 parameters and sets set J:= Tom Jim Ann Tony; param cost[*] := Tom25 Jim36 Ann28 Tony30;

8 Possible data for Paragraph 2 parameters and sets (cont.) set ATTR:= C++ IP Linux; param cons_attr[*,*] : C++IPLinux:= Tom 101 Jim110 Ann011 Tony101;

9 Relevant Information from Paragraph 3 param proj_attr{i in I, k in ATTR}; # number of consultants needed to possess attribute k in project I # Constraint 1: # number of consultants possessing attribute k in project i # should be at least proj_attr[i,k] if project i is pursued # Provision: A consultant can fulfill many needs of a project.

10 Possible data for Paragraph 3 parameters and sets param proj_attr[*,*] :C++IPLinux:= A212 B111 C201 D210 ;

11 Relevant Information from Paragraph 4 # Constraint 2: # each consultant can work only on one project at a time param b{i in I}; # first week of project i param e{i in I}; # last week of project I Possible data for Paragraph 4 parameters and sets param: be := A24A24 B13B13 C35C35 D23 ;

12 Relevant Information from Paragraph 5 var proj{i in I} binary; # is 1 if project i is pursued var assign{j in J, i in I} binary; # is 1 if consultant j is assigned to project i # Constraint 3: # consultants can work only on projects that are pursued

13 Proceeding to next stage We are done with Stage 2, extracting relevant data and information from each paragraph. In Stage 3, we will express the objective function and the constraints in terms of defined variables and parameters.

14 Objective Function maximize Profit:# profit from projects – consultant costs sum{i in I}profit[i]*proj[i] - sum{j in J, i in I}cost[j]*(e[i]-b[i]+1)*assign[j,i];

15 Constraint 1 Information we have from Stage 2: # Constraint 1: # number of consultants possessing attribute k in project i # should be at least proj_attr[i,k] if project i is pursued # Provision: A consultant can fulfill many needs of a project. The corresponding constraint in the model: subject to Number_of_Consultants {i in I, k in ATTR}: sum{j in J} cons_attr[j,k] * assign[j,i] >= proj_attr[i,k] * proj[i];

16 Constraint 2 Information we have from Stage 2: # Constraint 2: # each consultant can work only on one project at a time Getting the corresponding constraint in the model: #First need to define new set and parameter for time. set WEEKS:= min{i in I}b[i]..max{i in I}e[i]; # the range of the weeks when the projects are planned param up{w in WEEKS, i in I}:= if b[i]<=w<=e[i] then 1 else 0; # this parameter is 1 if project i is planned to be up in week w #Then the constraint is: subject to one_project_at_a_time {j in J, w in WEEKS}: sum{i in I} up[w,i] * assign[j,i] <= 1 ;

17 Constraint 3 Information we have from Stage 2: # Constraint 3: # consultants can work only on projects that are pursued The corresponding constraint in the model: subject to only_pursued_projects {i in I, j in J}: assign[j,i] <= proj[i];

18 Summarizing Put all the sets, parameters, variables, constraints and the objective function together to get a complete model. The complete model along with a possible data set is given in the handout.