Upload
k2050896
View
231
Download
0
Embed Size (px)
Citation preview
8/9/2019 MIE376 Lec 1a Intro
1/18
MIE376 – Mathematical Programming 1
Mathematical Programming
Within the context of
Operations Research methods
8/9/2019 MIE376 Lec 1a Intro
2/18
MIE376 – Mathematical Programming 2
Definition of OR
Operations Research, or simply OR is an
interdisciplinary science which deploys scientific
methods like mathematical modeling, statistics, and
algorithms to decision making in complex real-worldproblems which are concerned with coordination
and execution of the operations within an
organization. The na
ture of organization is
essentially immaterial. The eventual intention behind
using this science is to elicit a best possible solution
to a problem scientifically, which improves or
optimizes the performance of the organization.
8/9/2019 MIE376 Lec 1a Intro
3/18
MIE376 – Mathematical Programming 3
the name…
Started in WWII under the name of Operational Research
Also called Management Science
Traditionally associated with Industrial Engineering,
More recently as Systems Engineering
Institute for Operations Research and the Management Sciences
In 2005 INFORMS introduces its motto: The Science of Better.
In 2011 INFORMS adds a Business Analytics Section to the existingOperations Research and Management Science Sections.
8/9/2019 MIE376 Lec 1a Intro
4/18
MIE376 – Mathematical Programming 4
Focus on Operations
The origin and mainstay of OR
Justifies dual “homes” for OR
Industrial engineering in engineering schools,
Operations management in business schools.
8/9/2019 MIE376 Lec 1a Intro
5/18
MIE376 – Mathematical Programming 5
Nature Of Organization Is Immaterial
Energy,
defence,
healthcare,
transportation,
mining, forestry,
electric utilities,
retail,
manufacturing,
banking,
financial engineering,
security,
etc..
8/9/2019 MIE376 Lec 1a Intro
6/18
MIE376 – Mathematical Programming 6
Getting to the best solution
Each application requires a new optimization modelspecific to that situation,
BUT, there are standard model TYPES available.
At a high level can be categorized under
Descriptive versus Normative (or Prescriptive) Models
Deterministic versus Stochastic (or Probabilistic) Models
8/9/2019 MIE376 Lec 1a Intro
7/18
MIE376 – Mathematical Programming 7
Descriptive versus Normative Models
Descriptive Models help you understand howthe situation will change if one makes a
particular decision.
Normative Models go beyond the DescriptiveModels and explicitly advise what one ought
to do to improve the situation.
8/9/2019 MIE376 Lec 1a Intro
8/18
MIE376 – Mathematical Programming 8
Deterministic versus Stochastic Models
Deterministic Models do not take into account
uncertainty.
Stochastic Models take into accountuncertainties modelled as probability
distributions.
8/9/2019 MIE376 Lec 1a Intro
9/18
MIE376 – Mathematical Programming 9
Types of OR ModelsDeterministic Stochastic
Descriptive
Systems of Equations Linear
Non-linear
Differential
Simulation Models Discrete Event
Monte-Carlo
Queueing Theory
Markov Chains
Normative
Mathematical Programming Linear Programming (LP)
Network Models (NP)
Integer Programming (IP)
Non-linear Programming (NLP)
Quadratic Programming (QP)
Bi-Level Linear Programming
(BLLP)
Dynamic Programming (DP)
Optimal Control
Heuristic Methods
Multi-Criteria Models
Stochastic Programming Chance constrained
Recourse Models
Stochastic DP
Decision Analysis Models
Stochastic Optimal Control
Stochastic Multi-Criteria
8/9/2019 MIE376 Lec 1a Intro
10/18
MIE376 – Mathematical Programming 10
Mathematical Programming
Minimize or Maximize f(x1, x2, x3, …, xn)
subject to constraints
g1(x1, x2, x3,…, xn) { ≥ or ≤ or = } some constant b1
g2(x1, x2, x3,…, xn) { ≥ or ≤ or = } some constant b2…. .
gm(x1, x2, x3,…, xn) { ≥ or ≤ or = } some constant bm
For example
Minimize 3x1 + ln (x1/x2) – exp(x2 + x3)
subject to x1 + x2 + sin x3 ≥ 5
8/9/2019 MIE376 Lec 1a Intro
11/18
MIE376 – Mathematical Programming 11
Linear Programming
General Form
Minimize or Maximize c j x j
subject to
a1j x j { ≥ or ≤ or = }b1 a2j x j { ≥ or ≤ or = }b2.
.
.
amj
x j{ ≥ or ≤ or = }b
mx j ≥ 0
Example
Max 3x1 + 4x2
subject to2x1 + 5x2 ≤ 5
3x1 + x2 ≤ 10
7x1 + 3x2 ≤ 7
12x1 + 10x2 ≤ 8
x1 ≥ 0 and x2 ≥ 0
• all relationships are LINEAR!
8/9/2019 MIE376 Lec 1a Intro
12/18
MIE376 – Mathematical Programming 12
Back to the 7 Step Modeling Process
1. Formulate the Problem
2. Observe the System
3. Formulate the Model
4. Verify and Validate the Model
5. Solve the Model
6.
Recommend7. Implement
8/9/2019 MIE376 Lec 1a Intro
13/18
MIE376 – Mathematical Programming 13
Formulating and Verifying LP Models
Formulating your model Understand the problem formulation
LET some symbol represent some problem entity
Repeat for all problem entities
Derive linear mathematical relationships between symbols
Verifying your model Postulate an arbitrary numerical “solution” to the problem
Check its feasibility from the problem formulation
Compare with a feasibility check using your LP model Check its objective value from the problem
Compare with the objective value from your LP model
8/9/2019 MIE376 Lec 1a Intro
14/18
MIE376 – Mathematical Programming 14
LP Software
INFORMS regularly surveys the marketplace for LP
software systems
For the latest 2013 survey see http://www.orms-
today.org/surveys/LP/LP-survey.html
ECF labs includes the following LP software:
Excel with Solver – widely available
CPLEX, Gurobi and GAMS – all industry standard solvers OPL and AMPL - front end software work with most solvers
OPL/CPLEX and AMPL/Gurobi are popular choices
http://www.orms-today.org/surveys/LP/LP-survey.htmlhttp://www.orms-today.org/surveys/LP/LP-survey.htmlhttp://www.orms-today.org/surveys/LP/LP-survey.htmlhttp://www.orms-today.org/surveys/LP/LP-survey.html
8/9/2019 MIE376 Lec 1a Intro
15/18
MIE376 – Mathematical Programming 15
LP System Components
Front-end GUI/DB application
Customized software
Back-End Database System
Access, Oracle, DB2, MS-SQL
Back-End Modeling System
OPL, AMPL, GAMS
Usually separate model from data (.mod and .dat)
Back-End Solver
CPLEX, Gurobi, MINOS
Also see: http://www.gams.com/solvers/index.htm
8/9/2019 MIE376 Lec 1a Intro
16/18
MIE376 – Mathematical Programming 16
Typical LP System Diagram
GUI/
DB
App
Modeling
system
(.mod, .dat)
Solver
Database
8/9/2019 MIE376 Lec 1a Intro
17/18
MIE376 – Mathematical Programming 17
Excel Solver
GUI/
DB
App
Modeling
systemSolver
DatabaseMS Excel
Solver Add-in by Frontline
8/9/2019 MIE376 Lec 1a Intro
18/18
MIE376 – Mathematical Programming 18
AMPL IDE
GUI/
DB
App
Modeling
system
(.mod, .dat)
Solver
Database
Can call a variety of solvers,
most popular CPLEX and
Gurobi
New Product in Version 1