solving business problems with sas analytics and · pdf filesolving business problems with sas...
TRANSCRIPT
Copyright c©2013, SAS Institute Inc. All rights reserved.
Solving Business Problemswith SAS Analyticsand OPTMODEL
Technology WorkshopINFORMS Conference on BusinessAnalytics and Operations ResearchSan Antonio, TX
SAS Institute Inc.
April 7, 2013
Outline
1 SAS/OR Introduction
2 Shortest Path Problem
3 Multicommodity Flow Problem
4 Network Algorithms
5 SUBMIT Block
6 Customer Case Study: Insurance Claim Assignment
7 Sample Consulting Engagements
Copyright c©2013, SAS Institute Inc. All rights reserved.
Outline
1 SAS/OR Introduction
2 Shortest Path Problem
3 Multicommodity Flow Problem
4 Network Algorithms
5 SUBMIT Block
6 Customer Case Study: Insurance Claim Assignment
7 Sample Consulting Engagements
Copyright c©2013, SAS Institute Inc. All rights reserved.
Background on SAS
Founded in 1976World’s largest privatelyheld software companyOver 400 offices worldwideOver 60,000 customersites in 135 countriesSAS customers, affiliates:90 of top 100 companies in2012 Fortune Global 500Hundreds of local usergroups
Copyright c©2013, SAS Institute Inc. All rights reserved.
SAS Data Sets, Language, Terminology
SAS data set: tabular data file» Rows are “observations”» Columns are “variables”» Created with SAS data step and/or SQL» Read from / write to all major data formats
SAS programming language base: data handling andexploration, elementary statistics, wide range of functions
Software modules are procedures, abbreviated “PROC”
Copyright c©2013, SAS Institute Inc. All rights reserved.
Sample SAS Data Set
Copyright c©2013, SAS Institute Inc. All rights reserved.
SAS Data Sets and External Data Formats
SAS has several ways (programmatic, point and click)to convert any data in tabular form into a SAS data set
» DATA step functionality» PROC IMPORT» Enterprise Guide
Through SAS ACCESS engines, can create SAS viewsto any commonly used database
» Data appears as SAS data sets to SAS, but remains in thenative database format
» SAS can write results back to the native database format
Copyright c©2013, SAS Institute Inc. All rights reserved.
Overview of SAS Functions
Mathematical, Arithmetic, TruncationArrayCharacterDate and TimeFinancialProbability DistributionsTrigonometric, HyperbolicRandom Number GenerationSample Statistics, Quantiles
Copyright c©2013, SAS Institute Inc. All rights reserved.
SAS Products and Solutions
SAS products: breadth and depth» Data Integration: access, cleansing, metadata creation» Business Intelligence: query, reporting, visualization» Analytics: statistics, forecasting, data mining, text mining,
quality control, optimization, scheduling, simulation
SAS solutions» Cross-Industry: Customer Intelligence, Supply Chain
Intelligence, Predictive Asset Maintenance, RiskManagement, Sustainability Management, SecurityIntelligence, Visual Analytics
» Industry-Specific: Retail, Oil and Gas, Manufacturing,Energy & Utilities, Financial Services, Health Care, LifeSciences, Insurance, Communications, Media, Hotels,Casinos, Travel & Transportation, Government, Education,Defense & Aerospace
Copyright c©2013, SAS Institute Inc. All rights reserved.
SAS Products and Solutions
SAS products: breadth and depth» Data Integration: access, cleansing, metadata creation» Business Intelligence: query, reporting, visualization» Analytics: statistics, forecasting, data mining, text mining,
quality control, optimization, scheduling, simulation
SAS solutions» Cross-Industry: Customer Intelligence, Supply Chain
Intelligence, Predictive Asset Maintenance, RiskManagement, Sustainability Management, SecurityIntelligence, Visual Analytics
» Industry-Specific: Retail, Oil and Gas, Manufacturing,Energy & Utilities, Financial Services, Health Care, LifeSciences, Insurance, Communications, Media, Hotels,Casinos, Travel & Transportation, Government, Education,Defense & Aerospace
Copyright c©2013, SAS Institute Inc. All rights reserved.
SAS-Related Presentations at INFORMS
T11 Building and Solving Optimization Models with SASEd Hughes, Aysegul PekerMonday, 10:30am
T8 Win-Win in Inventory ManagementUsing Advanced Analytics TechniquesAysegul PekerMonday, 3:40pm
T13 Effective Use of Business AnalyticsKathy LangeTuesday, 9:10am
T23 High-Performance Data Mining with SAS Enterprise MinerAndré de WaalTuesday, 9:10am
T17 Process Control Approaches in Business ForecastingMichael GillilandTuesday, 11:30am
Copyright c©2013, SAS Institute Inc. All rights reserved.
The Scope of SAS/OR
1. Mathematical optimization
2. Discrete event simulation
3. Constraint programming
4. Genetic algorithms
5. Project and resource scheduling
Copyright c©2013, SAS Institute Inc. All rights reserved.
Broad Range of Optimization Solvers
Linear Programming:» Primal Simplex» Dual Simplex» Interior Point» Network Simplex
Mixed Integer Linear Programming:» Branch and Bound with heuristics, cuts, conflict search
Quadratic Programming:» Interior Point
Nonlinear Programming:» Active Set» Interior Point» Multistart
Copyright c©2013, SAS Institute Inc. All rights reserved.
DECOMP: New in SAS/OR 12.1
Decomposition algorithm accessible in PROC OPTMODELUser conveys block structure via .block constraint suffixsolve with LP|MILP / decomp=(method=user);
Master and subproblems generated and solvedautomatically and in parallelFor block-angular problems, dramatic performanceimprovements over direct solver
Copyright c©2013, SAS Institute Inc. All rights reserved.
Network Algorithms: New in SAS/OR 12.1
Connected componentsBiconnected components and articulation pointsMaximal cliquesCyclesTransitive closureLinear assignment problemShortest path problemMinimum-cost network flow problemMinimum spanning tree problemMinimum cut problemTraveling salesman problem
Copyright c©2013, SAS Institute Inc. All rights reserved.
Other Enhancements in SAS/OR 12.1
Concurrent LP and NLP solversParallel MILP option tunerParallel NLP multistartSAS code block (SUBMIT/ENDSUBMIT) in OPTMODELConflict search for MILP
Copyright c©2013, SAS Institute Inc. All rights reserved.
SAS Optimization-Based Solutions
SAS Marketing OptimizationSAS Service Parts OptimizationSAS Contact Center Planning and OptimizationSAS Revenue Optimization SuiteSAS Size OptimizationSAS Credit Scoring for BankingSAS Risk Management for BankingSAS Risk Management for InsuranceSAS Social Network Analysis
Copyright c©2013, SAS Institute Inc. All rights reserved.
OPTMODEL: Major Features
Algebraic modeling language with optimization-orientedsyntax:
» Variables, constraints, bounds, objective» Algebraic expression of functions» Parameters, variables, arrays, index sets
Tight integration with SAS programming environmentFlexible input/output: read from and create data setsInteractive environmentDirect access to LP, MILP, QP, NLP solversSupport for customized algorithms
Copyright c©2013, SAS Institute Inc. All rights reserved.
OPTMODEL Programming Statements
Control and Looping:» DO, IF, etc.» DO iterative, DO UNTIL, DO WHILE, etc.
General» CALL» SUBMIT/ENDSUBMIT
Input/Output:» READ DATA, CREATE DATA: working with SAS data sets» SAVE MPS, SAVE QPS» FILE, PRINT, PUT
Model Management:» SOLVE» PROBLEM/USE PROBLEM (named models)» DROP/RESTORE (constraints)» FIX/UNFIX (variables)» EXPAND (selective or overall)
Copyright c©2013, SAS Institute Inc. All rights reserved.
OPTMODEL Expressions Overview
Aggregation operators (evaluate an expression or a setexpression over an index set):
» SUM, PROD, MAX, MIN» INTER aggregation, UNION aggregation» SETOF, AND aggregation, OR aggregation
Set operators:» IN, WITHIN» INTER, UNION, SYMDIFF, DIFF» CROSS, SLICE
Logical:» Conditional: IF-THEN-ELSE» Boolean: AND, OR
Scalar and set expressions
Copyright c©2013, SAS Institute Inc. All rights reserved.
Basics of the SAS Macro Language
Macros: parameterized blocks of SAS codeMacro variables:
» Assigning a value: %let varname=<value>;» Using: &varname
Declaring a macro:%macro macroname (param1, param2);<SAS code>
%mend macroname;
Invoking a macro:%macroname (<value1>, <value2>);Special code within macros:
» %if &varname=<value> %then %do; ...%end;» %do n=1 %to &number;...%end;
Copyright c©2013, SAS Institute Inc. All rights reserved.
Outline
1 SAS/OR Introduction
2 Shortest Path Problem
3 Multicommodity Flow Problem
4 Network Algorithms
5 SUBMIT Block
6 Customer Case Study: Insurance Claim Assignment
7 Sample Consulting Engagements
Copyright c©2013, SAS Institute Inc. All rights reserved.
Shortest Path Problem
Given directed network (N,A) with source s and sink t
Each arc (i, j) ∈ A has cost cij
Find shortest path from s to t
Minimum cost network flow problem, sending one unit offlow from s to tSeveral approaches:
» LP» MILP» QP» NLP» Multiple objectives» Dynamic programming» Network algorithm
Copyright c©2013, SAS Institute Inc. All rights reserved.
Example Network
2 4
1 6
3 5
1
10
1
2
1
5
12
10
1
2
Copyright c©2013, SAS Institute Inc. All rights reserved.
Optimal Solution
1
2 4
6
2 4
1 6
3 5
1
10
1
2
1
5
12
10
1
2
Copyright c©2013, SAS Institute Inc. All rights reserved.
Shortest Path Data and Setup
OPTMODEL codeShortestPath.sas
Copyright c©2013, SAS Institute Inc. All rights reserved.
Linear Programming
minimize∑
(i,j)∈A
cijxij
subject to∑
(i,j)∈A
xij −∑
(j,i)∈A
xji = bi i ∈ N
xij ≥ 0 (i, j) ∈ A
where bs = 1, bt = −1, and bi = 0 for i ∈ N \ {s, t}
Copyright c©2013, SAS Institute Inc. All rights reserved.
Linear Programming
minimize∑
(i,j)∈A
cijxij
subject to∑
(i,j)∈A
xij −∑
(j,i)∈A
xji =
1 if i = s− 1 if i = t0 if i ∈ N \ {s, t}
i ∈ N
xij ≥ 0 (i, j) ∈ A
var Flow {ARCS} >= 0;min TotalCost = sum {<i,j> in ARCS} cost[i,j] * Flow[i,j];con Balance {i in NODES}:
sum {<(i),j> in ARCS} Flow[i,j]- sum {<j,(i)> in ARCS} Flow[j,i]= (if i = source then 1 else if i = sink then -1 else 0);
Copyright c©2013, SAS Institute Inc. All rights reserved.
Linear Programming
minimize∑
(i,j)∈A
cijxij
subject to∑
(i,j)∈A
xij −∑
(j,i)∈A
xji =
1 if i = s− 1 if i = t0 if i ∈ N \ {s, t}
i ∈ N
xij ≥ 0 (i, j) ∈ A
var Flow {ARCS} >= 0;min TotalCost = sum {<i,j> in ARCS} cost[i,j] * Flow[i,j];con Balance {i in NODES}:
sum {<(i),j> in ARCS} Flow[i,j]- sum {<j,(i)> in ARCS} Flow[j,i]= (if i = source then 1 else if i = sink then -1 else 0);
Copyright c©2013, SAS Institute Inc. All rights reserved.
Linear Programming
minimize∑
(i,j)∈A
cijxij
subject to∑
(i,j)∈A
xij −∑
(j,i)∈A
xji =
1 if i = s− 1 if i = t0 if i ∈ N \ {s, t}
i ∈ N
xij ≥ 0 (i, j) ∈ A
var Flow {ARCS} >= 0;min TotalCost = sum {<i,j> in ARCS} cost[i,j] * Flow[i,j];con Balance {i in NODES}:
sum {<(i),j> in ARCS} Flow[i,j]- sum {<j,(i)> in ARCS} Flow[j,i]= (if i = source then 1 else if i = sink then -1 else 0);
Copyright c©2013, SAS Institute Inc. All rights reserved.
Linear Programming
minimize∑
(i,j)∈A
cijxij
subject to∑
(i,j)∈A
xij −∑
(j,i)∈A
xji =
1 if i = s− 1 if i = t0 if i ∈ N \ {s, t}
i ∈ N
xij ≥ 0 (i, j) ∈ A
var Flow {ARCS} >= 0;min TotalCost = sum {<i,j> in ARCS} cost[i,j] * Flow[i,j];con Balance {i in NODES}:
sum {<(i),j> in ARCS} Flow[i,j]- sum {<j,(i)> in ARCS} Flow[j,i]= (if i = source then 1 else if i = sink then -1 else 0);
Copyright c©2013, SAS Institute Inc. All rights reserved.
Linear Programming
minimize∑
(i,j)∈A
cijxij
subject to∑
(i,j)∈A
xij −∑
(j,i)∈A
xji =
1 if i = s− 1 if i = t0 if i ∈ N \ {s, t}
i ∈ N
xij ≥ 0 (i, j) ∈ A
var Flow {ARCS} >= 0;min TotalCost = sum {<i,j> in ARCS} cost[i,j] * Flow[i,j];con Balance {i in NODES}:
sum {<(i),j> in ARCS} Flow[i,j]- sum {<j,(i)> in ARCS} Flow[j,i]= (if i = source then 1 else if i = sink then -1 else 0);
Copyright c©2013, SAS Institute Inc. All rights reserved.
Linear Programming
minimize∑
(i,j)∈A
cijxij
subject to∑
(i,j)∈A
xij −∑
(j,i)∈A
xji =
1 if i = s− 1 if i = t0 if i ∈ N \ {s, t}
i ∈ N
xij ≥ 0 (i, j) ∈ A
var Flow {ARCS} >= 0;min TotalCost = sum {<i,j> in ARCS} cost[i,j] * Flow[i,j];con Balance {i in NODES}:
sum {<(i),j> in ARCS} Flow[i,j]- sum {<j,(i)> in ARCS} Flow[j,i]= (if i = source then 1 else if i = sink then -1 else 0);
Copyright c©2013, SAS Institute Inc. All rights reserved.
Linear Programming
OPTMODEL codeShortestPathLP.sas
Copyright c©2013, SAS Institute Inc. All rights reserved.
Mixed Integer Linear Programming
Given directed network (N,A) with source s and sink t
Each arc (i, j) ∈ A has cost cij and traversal time tijFind shortest s-t path with side constraint on total timeConstraint matrix not totally unimodularNeed to impose integrality on flow variables
Copyright c©2013, SAS Institute Inc. All rights reserved.
Mixed Integer Linear Programming
minimize∑
(i,j)∈A
cijxij
subject to∑
(i,j)∈A
xij −∑
(j,i)∈A
xji =
1 if i = s−1 if i = t0 if i ∈ N \ {s, t}
i ∈ N
∑(i,j)∈A
tijxij ≤ T
xij ∈ {0, 1} (i, j) ∈ A
Copyright c©2013, SAS Institute Inc. All rights reserved.
Example Network
2 4
1 6
3 5
(1, 10)
(10, 3)
(c = 1, t = 1)
(2, 3)
(1, 2)
(5, 7)
(12, 3)
(10, 1)
(1, 7)
(2, 2)
Copyright c©2013, SAS Institute Inc. All rights reserved.
Optimal Solution for T = 14
1
3
2 4
6
2 4
1 6
3 5
(1, 10)
(10, 3)
(c = 1, t = 1)
(2, 3)
(1, 2)
(5, 7)
(12, 3)
(10, 1)
(1, 7)
(2, 2)
Copyright c©2013, SAS Institute Inc. All rights reserved.
Mixed Integer Linear Programming
OPTMODEL codeConstrainedShortestPathMILP.sas
Copyright c©2013, SAS Institute Inc. All rights reserved.
Outline
1 SAS/OR Introduction
2 Shortest Path Problem
3 Multicommodity Flow Problem
4 Network Algorithms
5 SUBMIT Block
6 Customer Case Study: Insurance Claim Assignment
7 Sample Consulting Engagements
Copyright c©2013, SAS Institute Inc. All rights reserved.
Multicommodity Flow Problem
Given directed network (N,A) and commodities K
Each node i ∈ N has supply bki for commodity k ∈ K
Each arc (i, j) ∈ A has:» cost ck
ij per unit of flow of commodity k ∈ K» capacity uk
ij for commodity k ∈ K» capacity uij that limits sum of flows of commodities
Satisfy all supplies and demands at minimum cost, whilerespecting arc capacitiesTwo approaches:
» Direct LP» Dantzig-Wolfe Decomposition
Copyright c©2013, SAS Institute Inc. All rights reserved.
Example Network with Two Commodities
110 2 −10
3 4
520 6 −20
(c = 1, u = 5)
(5, 30)
(1, 10)
(5, 30)
(1, 30)(1, 30)
(5, 30)
Copyright c©2013, SAS Institute Inc. All rights reserved.
Optimal Solution
110 2 −10
3 4
520 6 −20
(c = 1, u = 5)
(5, 30)
(1, 10)
(5, 30)
(1, 30)(1, 30)
(5, 30)
5
5
5 5
5
55
15
Copyright c©2013, SAS Institute Inc. All rights reserved.
Linear Programming Formulation
minimize∑k∈K
∑(i,j)∈A
ckijx
kij
subject to∑k∈K
xkij ≤ uij (i, j) ∈ A∑
(i,j)∈A
xkij −
∑(j,i)∈A
xkji = bk
i i ∈ N, k ∈ K
0 ≤ xkij ≤ uk
ij (i, j) ∈ A, k ∈ K
Copyright c©2013, SAS Institute Inc. All rights reserved.
Multicommodity Flow Problem: Direct LP
OPTMODEL codeMulticommodityFlow.sas
Copyright c©2013, SAS Institute Inc. All rights reserved.
Constraint Matrix for Example Network
1 11 1
1 11 1
1 11 1
1 11 1−1 −1
−1 −1 1−1 1 1
1 1−1 −1
1 1−1 −1
−1 −1 1−1 1 1
1 1−1 −1
Copyright c©2013, SAS Institute Inc. All rights reserved.
Block-Angular Structure
A1 A2 · · · A|K|B1
B2. . .
B|K|
Copyright c©2013, SAS Institute Inc. All rights reserved.
Linear Programming Formulation
minimize∑k∈K
∑(i,j)∈A
ckijx
kij
subject to∑k∈K
xkij ≤ uij (i, j) ∈ A (1)∑
(i,j)∈A
xkij −
∑(j,i)∈A
xkji = bk
i i ∈ N, k ∈ K (2)
0 ≤ xkij ≤ uk
ij (i, j) ∈ A, k ∈ K (3)
Dantzig-Wolfe DecompositionMaster: (1)Subproblem: (2)-(3)
Copyright c©2013, SAS Institute Inc. All rights reserved.
DECOMP: New in SAS/OR 12.1
Decomposition algorithm accessible in PROC OPTMODELUser conveys block structure via .block constraint suffixsolve with LP|MILP / decomp=(method=user);
Master and subproblems generated and solvedautomatically and in parallelFor block-angular problems, dramatic performanceimprovements over direct solver
Copyright c©2013, SAS Institute Inc. All rights reserved.
DECOMP: METHOD= Option
USER: User defines the subproblems using constraint suffix.block
NETWORK: Finds an embedded network [Bixby88] and usesthe weakly connected components as subproblem blocksAUTO: Searches for disjoint blocks (no master constraints)after presolve
Copyright c©2013, SAS Institute Inc. All rights reserved.
Multicommodity Flow Problem:Decomposition Algorithm
OPTMODEL codeMulticommodityFlowDecomp.sas
Copyright c©2013, SAS Institute Inc. All rights reserved.
Outline
1 SAS/OR Introduction
2 Shortest Path Problem
3 Multicommodity Flow Problem
4 Network Algorithms
5 SUBMIT Block
6 Customer Case Study: Insurance Claim Assignment
7 Sample Consulting Engagements
Copyright c©2013, SAS Institute Inc. All rights reserved.
Network Algorithms: New in SAS/OR 12.1
Connected componentsBiconnected components and articulation pointsMaximal cliquesCyclesTransitive closureLinear assignment problemShortest path problemMinimum-cost network flow problemMinimum spanning tree problemMinimum cut problemTraveling salesman problem
Copyright c©2013, SAS Institute Inc. All rights reserved.
Network Algorithm for Shortest Path
PROC OPTNET can be called directly:» Reads arc data set via DATA_LINKS= option» By default, SHORTPATH statement invokes all-pairs
shortest paths solver» Can specify SOURCE= and SINK= to solve s-t shortest
path problem
PROC OPTNET can also be called from within PROCOPTMODEL via SUBMIT/ENDSUBMITIn a future release, network algorithms accessible usingSOLVE WITH NETWORK statement in PROC OPTMODEL
Copyright c©2013, SAS Institute Inc. All rights reserved.
Network Algorithm
OPTMODEL codeShortestPathOPTNET.sas
Copyright c©2013, SAS Institute Inc. All rights reserved.
Outline
1 SAS/OR Introduction
2 Shortest Path Problem
3 Multicommodity Flow Problem
4 Network Algorithms
5 SUBMIT Block
6 Customer Case Study: Insurance Claim Assignment
7 Sample Consulting Engagements
Copyright c©2013, SAS Institute Inc. All rights reserved.
SUBMIT Block
Access the full SAS system without exiting OPTMODELBuild novel dynamic algorithms using statistics, matrixmanipulation, visualization, interaction, etc.Syntax:
proc optmodel;...submit [arguments] [/ options];
[arbitrary SAS code]endsubmit;...
quit;
Copyright c©2013, SAS Institute Inc. All rights reserved.
Milk Collection: Periodic VRPH.P. Williams, Model Building in MathematicalProgramming (1999)SAS/OR R© 12.1 User’s Guide: Mathematical ProgrammingExamples (2012)Scheduling and routing milk collection trucks
» Truck collects milk from dairy farms» Each farm’s collection frequency is daily or every other day
1
2
3
4
5
6
7
8
9
10
11
1213
14
15
16
17
18
19
2021
-6 -4 -2 0 2 4 6
-5
0
5
10
12frequency
day = 1
1
2
3
4
5
6
7
8
9
10
11
1213
14
15
16
17
18
19
2021
-6 -4 -2 0 2 4 6
-5
0
5
10
12frequency
day = 2
Copyright c©2013, SAS Institute Inc. All rights reserved.
Benders Decomposition
Combinatorial Benders Decomposition with a TSPsubproblem oracleMaster problem decides which nodes (farms) to visit eachday and enforces:
» capacity, frequency, and symmetry breaking» optimality cuts (generated by subproblem)
Subproblem is a TSP for each day» generates optimality cuts for the master» uses specialized TSP solver» subset of nodes changes at each iteration
Copyright c©2013, SAS Institute Inc. All rights reserved.
Milk Collection Problem: BendersDecomposition using SUBMIT to call PROCOPTNET
OPTMODEL codeMilkCollectionBendersSubmit.sas
Copyright c©2013, SAS Institute Inc. All rights reserved.
Cardinality Constrained Regression: WhichRegressors Produce the Best Fit?
Multivariate linear regression
Y = Xβ + β0e + ε,
whereY ∈ Rm, X ∈ Rm×n are datae ∈ Rm is vector of onesβ ∈ Rn, β0 ∈ R, ε ∈ Rm are decision variables
Letz ∈ {0, 1}n: indicator variables for βk: user input number of regressors to allow
Minimize the SSE over all models with k or fewer regressors.
Copyright c©2013, SAS Institute Inc. All rights reserved.
Cardinality Constrained Regression: WhichRegressors Produce the Best Fit?
Multivariate linear regression
Y = Xβ + β0e + ε,
whereY ∈ Rm, X ∈ Rm×n are datae ∈ Rm is vector of onesβ ∈ Rn, β0 ∈ R, ε ∈ Rm are decision variables
Letz ∈ {0, 1}n: indicator variables for βk: user input number of regressors to allow
Minimize the SSE over all models with k or fewer regressors.
Copyright c©2013, SAS Institute Inc. All rights reserved.
Cardinality Constrained Regression: WhichRegressors Produce the Best Fit?
Multivariate linear regression
Y = Xβ + β0e + ε,
whereY ∈ Rm, X ∈ Rm×n are datae ∈ Rm is vector of onesβ ∈ Rn, β0 ∈ R, ε ∈ Rm are decision variables
Letz ∈ {0, 1}n: indicator variables for βk: user input number of regressors to allow
Minimize the SSE over all models with k or fewer regressors.
Copyright c©2013, SAS Institute Inc. All rights reserved.
Benders Decomposition
Master is selection problem (over z)Can include any rule expressible as a MILP (e.g., subsetcardinality, clique constraints)Optimality cut for each regressor subset and all its subsetsSubproblem is just linear regression (β, ε), so can usePROC REG
Copyright c©2013, SAS Institute Inc. All rights reserved.
Cardinality Constrained Regression:Benders Decomposition using SUBMIT tocall PROC REG
OPTMODEL codeRegressionBendersSubmit.sas
Copyright c©2013, SAS Institute Inc. All rights reserved.
Outline
1 SAS/OR Introduction
2 Shortest Path Problem
3 Multicommodity Flow Problem
4 Network Algorithms
5 SUBMIT Block
6 Customer Case Study: Insurance Claim Assignment
7 Sample Consulting Engagements
Copyright c©2013, SAS Institute Inc. All rights reserved.
Business Problem
Given daily insurance claims and availability of adjustersObjective:
» Increase efficiency of claim processing» Provide user capability to visualize current state of workload
Optimization problem: Distribute claims evenly amongadjusters while considering eligibility and capacityconstraints
Copyright c©2013, SAS Institute Inc. All rights reserved.
Mathematical Model
Objective» Minimize workload deviation among adjusters
Decision» Which claims assigned to which adjuster
Assignment eligibility» Skill level» Location
Capacity requirements based on skill level of adjuster» Limit on total weighted load» Limit on number of newly assigned claims
Copyright c©2013, SAS Institute Inc. All rights reserved.
Insurance Claim Assignment Optimization
Planning horizon: 5 monthsClaims
» Average number of claims per day: 80» Type: auto, home
Adjusters» Number of adjusters: 20» Job grade: 1,2,3
Skills: Construction, auto body, paralegal, software, . . .Geographical regions in Florida: North, Central, South
Copyright c©2013, SAS Institute Inc. All rights reserved.
Insurance Claim Assignment Optimization
Interface written in Adobe Flash/FlexCalls PROC OPTMODEL code as stored processCommunication via SAS data sets and SAS macrolanguage
Launch Insurance Claim Assignment Optimization Demo
Copyright c©2013, SAS Institute Inc. All rights reserved.
Outline
1 SAS/OR Introduction
2 Shortest Path Problem
3 Multicommodity Flow Problem
4 Network Algorithms
5 SUBMIT Block
6 Customer Case Study: Insurance Claim Assignment
7 Sample Consulting Engagements
Copyright c©2013, SAS Institute Inc. All rights reserved.
Sample Consulting Engagements
Advanced Analytics and Optimization Services» Part of Advanced Analytics Division in R&D» Ph.D.-level developers/consultants
Areas of Focus» Generic Optimization Details
» Simulation Details
» Revenue Management Details
» Inventory Optimization Details
Copyright c©2013, SAS Institute Inc. All rights reserved.
Sample Consulting Engagements:Generic Optimization
Investment portfolio optimization Details
Optimal ATM replenishment Details
Optimal loan assignment Details
Chemical mixture optimization Details
Stochastic deal optimization Details
Optimal binning for credit risk Details
Student assignment optimization Details
Water management Details
Casino floor mix optimization Details
Census simulation optimization Details
Copyright c©2013, SAS Institute Inc. All rights reserved.
Sample Consulting Engagements:Simulation
Simulation for discovery oncology Details
Mortgage loan simulation Details
Prison population simulation Details
Copyright c©2013, SAS Institute Inc. All rights reserved.
Sample Consulting Engagements:Revenue Management (RM) and Pricing
RM framework for car rental Details
RM framework for cruise line Details
Show ticket RM Details
Pricing and inventory optimization Details
Copyright c©2013, SAS Institute Inc. All rights reserved.
Sample Consulting Engagements:Inventory Optimization (IO)
Retail inventory replenishment Details
IO for spare parts Details
IO for automotive Details
IO for construction equipment Details
Copyright c©2013, SAS Institute Inc. All rights reserved.
Investment Portfolio Optimization
Customer: Large US Government AgencyInvestment portfolio optimization
» Portfolio mix: T-Bills, T-Notes, CDs» Suggested investment strategy for a (e.g.) 1-month period» Discrete: minimum investment requirements
MILPSAS tools:
» SAS Forecast Studio» SAS/OR: OPTMODEL, MILP solver
Generalized network flow formulation
Copyright c©2013, SAS Institute Inc. All rights reserved.
Census Simulation Optimization Overview
Customer: Large US Government AgencyCensus simulation optimization for budget planning
» Minimize the deviation of the population change overdifferent census categories
» Census targets such as income, unemployment, healthinsurance
» Covers the whole US population
LPSAS tools:
» SAS/OR: OPTMODEL, LP solver
Copyright c©2013, SAS Institute Inc. All rights reserved.
Simulation for Discovery Oncology
Customer: Large Global PharmaceuticalDiscrete Event Simulation for Oncology Drug Discovery
» Synthesizing and testing drug compounds is very expensive» Goal is to find a candidate for clinical trials:
» Faster—reduce time to market» Cheaper—reduce cost of assay testing» More reliably—increase chance of success in trials
» Major strategies to evaluate via simulation:» Which compound to synthesize next?» Which compounds to send to which assays?» When to stop testing a compound?» How to identify a good clinical candidate?
SAS Simulation Studio
Copyright c©2013, SAS Institute Inc. All rights reserved.
ATM Cash Optimization Overview
Customer: Large South-East Asian BankATM cash replenishment optimization
» Large number of ATMs» Discrete cashout constraints» Side constraints (budget, etc)
MILPSAS tools:
» SAS/OR: OPTMODEL, MILP solver» SAS Forecast Studio: demand forecasting
Reformulated for tractability
Copyright c©2013, SAS Institute Inc. All rights reserved.
Retail Inventory Replenishment
Customer: Large Retail CompanyRetail Inventory Replenishment
» Large number of SKUs, locations, and vendors» Demand forecast» Reorder point to satisfy service level» Order decisions
Stochastic optimization at storesMILP optimization at depotsSAS tools:
» SAS/OR: OPTMODEL, MILP solver» SAS Forecast Studio: demand forecasting
Decomposed for tractability
Copyright c©2013, SAS Institute Inc. All rights reserved.
Optimal Loan Assignment
Customer: Large US BankLoan Assignment Optimization
» Goal: assign new loans (foreclosures, short sales, etc)» Minimize standard deviation between teams» Resource pool: CRMs (Customer Relationship Managers)
teams and PS (Process Support) resources» Constraints: maximum case loads, limits on case types, etc.» Eligibility rules: case type match, geographical (time zone),
language, etc.Difficult problem (MINLP):
» Nonlinear objective (standard deviation)» Binary variables (assignment)
SAS tools:» SAS/OR: OPTMODEL, MILP solver» SAS/DI and SAS/BI for data integration and reporting
Copyright c©2013, SAS Institute Inc. All rights reserved.
Mortgage Loan Simulation
Customer: Large US BankMortgage Loan SimulationGoal: to study how loans evolve from state to state overtime
» States include current, 30-days delinquent, bankruptcy, etc.» At end of each simulated month, compute the number of
loans in each state: used for capacity-planning purposes
Next phase of the model will attempt to determine optimalstaffing allocations to address the huge portfolio of loansLarge-scale model: Simulation Studio resource entityfeature is key to making the model efficientSAS tools:
» SAS/OR: SAS Simulation Studio
Copyright c©2013, SAS Institute Inc. All rights reserved.
Mixture Optimization
Customer: Large US CPG CompanyOptimization of raw material portfolio for manufacturing
» Minimum cost portfolio problem» Nonlinear performance constraints» Discrete: assignment constraints
MINLPSAS tools:
» SAS/OR: OPTMODEL, MILP solver, NLP solver» JMP» (Future) SAS/Grid Manager: parallel computations
Completely custom algorithm
Copyright c©2013, SAS Institute Inc. All rights reserved.
Revenue Management for Car Rental
Customer: Large US Car Rental CompanyBusiness Analytics Framework developmentOptimizing for growth (market share)Automate RM processPricing and reservation system
» Data integration» Segmentation» Forecasting: unconstrained demand by segment» Optimization: automatic generation of step
recommendations
RMPO with extensions
Copyright c©2013, SAS Institute Inc. All rights reserved.
Show Ticket Revenue Management
Customer: Large US ResortOccupancy forecastShow ticket price/availability optimizationDemand Channel ManagementSAS tools:
» RMPO with extensions» SAS/OR: OPTMODEL, QP solver
Copyright c©2013, SAS Institute Inc. All rights reserved.
Revenue Management for Cruise Line
Customer: Large US Entertainment CompanyBusiness Analytics Framework developmentAutomate pricing and availability management processAccount for multiple constraintsPricing and revenue management system
» Data integration» Segmentation» Forecasting: unconstrained demand by segment» Estimation: demand response to changes in pricing
strategy» Optimization: automatic generation of pricing and
availability recommendations
RMPO with extensions
Copyright c©2013, SAS Institute Inc. All rights reserved.
Stochastic Deal Optimization Overview
Customer: Large US Airplane Engine ManufacturerPricing service contracts of engines ($50B portfolio)
» Find minimum yearly price stream to achieve financialmetrics
» Specify price intervals and bounds and maximum numberof price changes
» Replaces current business rule process
MILPSAS tools:
» SAS/OR: OPTMODEL, MILP solver» Embedded in SAS/FM application» Potential for Monte-Carlo simulations from SAS/ETS
Completely custom (replacing homegrown Excelspreadsheets)
Copyright c©2013, SAS Institute Inc. All rights reserved.
Pricing and Inventory Optimization
Customer: Large US RetailerProduct promotion optimization
» Retail pricing and inventory network» Non-convex NLP» Discrete side constraints
Multi-objective NLPSAS tools:
» SAS/OR: OPTMODEL, NLP and MILP solvers
Customized heuristics
Copyright c©2013, SAS Institute Inc. All rights reserved.
Optimal Binning for Credit Scoring
Customer: Enterprise Miner (SAS Internal)Rigorous binning with constraints
» Monotonicity constraints» Nonlinear measures of risk» Discrete binning requirements
MINLPSAS tools
» SAS/OR: OPTMODEL, MILP solver, OPTNET» SAS Enterprise Miner
Reformulation or DP heuristic
Copyright c©2013, SAS Institute Inc. All rights reserved.
Student Assignment Optimization
Customer: Wake County Public SchoolsYearly assignment of Elementary, Middle, and High Schoolstudents to schools
» > 100,000 students, 159 schools» Optimize: 3-year assignment planning period» Minimize overcrowding, travel distance, demographic
imbalances, reassignments» Required “what-if” analysis capability
MINLPSAS tools:
» SAS/OR: OPTMODEL, MILP solver» SAS Grid Manager» JMP
Completely custom solution
Copyright c©2013, SAS Institute Inc. All rights reserved.
Spare Parts Inventory Optimization
Customer: Injection Molding SystemsInventory Replenishment
» Large number of SKUs» Three Warehouses in America, Europe, and Asia» Demand forecast» Reorder point to satisfy service level» Order decisions
Stochastic optimization at warehousesInventory balancing across warehousesSAS tools:
» PROC MIRP» SAS Forecast Studio: demand forecasting
Decomposed for tractability
Copyright c©2013, SAS Institute Inc. All rights reserved.
Manufacturing Inventory Planning
Customer: Large AutomakerManufacturing Inventory Planning
» Large supply chain networks with plants, warehouses, anddealers
» Close to one thousand packages (cars with options)» More than ten thousand service parts» A few hundred outsourcing parts for manufacturing» Inventory decisions for finished goods, service parts, and
manufacturing partsSAS tools:
» SAS Inventory Replenishment Planning» SAS/OR: OPTMODEL, MILP solver» SAS Forecast Server: demand forecasting
Copyright c©2013, SAS Institute Inc. All rights reserved.
Manufacturing Inventory Planning
Customer: Large Construction Equipment ManufacturerManufacturing Inventory Planning
» Supply chain networks with plants, and warehouses» Dozens of product lines» Hundreds of critical components» Long order-to-delivery (OTD) time» Inventory decisions for components to meet OTD
constraintsSAS tools:
» SAS Inventory Replenishment Planning
Copyright c©2013, SAS Institute Inc. All rights reserved.
Prison Population Simulation
Customer: State Legislative AgencyPrison Planning and Scenario Analysis
» Mandated projections to plan for prison capacity» Numbers highly dependent on legislative policy» Must consider current population and future entries» Need to account for revocations
SAS tools:» SAS/OR: Simulation Studio
Copyright c©2013, SAS Institute Inc. All rights reserved.
Water Management
Customer: National Utilities AgencyWater flow scheduling and routing
» Demand forecast for public water» Network of reservoirs and pumping stations» Business rules for reserve capacity and flow» Multi-objective problem
SAS tools:» SAS/OR: OPTMODEL, MILP solver» SAS Forecast Server
Copyright c©2013, SAS Institute Inc. All rights reserved.
Casino Floor Mix Optimization
Customer: Canadian CasinoSlot Machine Floor Mix Optimization
» Machine categorization» Forecasting Revenue and Utilization» Optimizing Revenue to determine slot machine mix on the
floor (hard and soft constraints)
MILPSAS tools:
» SAS/OR: OPTMODEL, MILP solver» SAS Forecast Studio» SAS Enteprise Miner
Copyright c©2013, SAS Institute Inc. All rights reserved.