- 238 Views
- Uploaded on

Download Presentation
## PowerPoint Slideshow about 'guided design search in the sailor assignment problem' - sandra_john

**An Image/Link below is provided (as is) to download presentation**

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript

Sailor Assignment Problem

- Minimize cost of assigning billets to sailors subject to various costs & constraints
- Modeled as an assignment problem with side constraints
- Binary variables are used to describe assigning sailor i to billet j
- Arcs determined by matching rates & 1 NEC & sea/shore rotation
- Cost of assignment calculated using job priorities, sailor & Navy preferences (from JASS)
- Many other concepts from APMS could be incorporated into the cost
- Side constraint examples are: goal values for total PCS costs, training costs, others???

Summary of Tasks

- Analyze requirements (APMS, Grant, current UM capabilities, schedule, budget, etc.)
- Create data sets compatible with research
- Determine mathematical models for problem generation
- Determine parameters of interest
- Parameters whose change greatly affect results
- Sailor/billet ratio, sea/shore rotation, budget
- Use data sets to generate problems
- Solve problems using CPLEX, compare to GDS
- Store, analyze results

from ONR

Process Flow

Constrain Violation

Parameters : e.g. are they all

the same or should high

priority jobs take precedence

over moving cost constraint?

Parameters (Karen):

Sailors : Billets Ratio

& others

Queries:

By Specialty, priority, etc.

Mathematical model

K1

K2

K3

M2

Updates

Automated Data Engine:

Creates flexible problem instances

in specific formats

based on input parameters

Analyze data set:

Remove Sailor duplicates,

report on metrics, remove

unused data fields.

Solution Analyzer:

Reality checker, metrics (e.g. # high

priority jobs filled), reports

Clean,

relational (2 tables:

jobs & sailors)

Problem Writer

.lp or .mps

GDS

Presolver

Solver Engine:

CPLEX or Excel

Database of

parameters & solutions

Current Data Set

M1

B2

K4

M/K1

B4

B1

B3

All

Feedback

Model with Assignment Costs & PCS Side Constraint

Min

Sum cijxij // Cost of assigning sailor i to job j

Subject to

Sum over j where i is qualified (xij) = 1; For every sailor i

Sum over qualified i (xij) = 1; For every billet j

Sum over i, j (pcsijxij) < PCS_GOAL;

xij is integer {0, 1}

End

Costs cij are currently combined job preferences, although they could be composed of costing out various MOEs such as gap, fleet balance, policies, readiness, etc. Direction from ONR would be helpful.

Deriving Numbers in Problem Generation

- Sample data base of sailors and billets used to create representative assignment problems
- Analyze data base to create sampling distributions
- # and distribution of NECs per sailor
- Sea/shore rotation
- Rates per community
- Billets to be filled
- Randomly create
- Billet & sailor preference (JASS)
- PCS costs per sailor per job
- Model using a matrix of 6 areas to move between

Example PCS Cost Matrix

- PCS costs will be (uniformly) randomly generated per sailor per billet

Model with Assignment Penalties

Min

Sum cijxij // Cost of assigning sailor i to job j

+ Sum i M_SiSi // Penalty for not assigning Sailor i to a billet

+ Sum j M_Bj Bj // Penalty for not assigning a billet j

Subject to

Sum over j where i is qualified (xij) + Si = 1; For every sailor i

Sum over qualified i (xij) + Bj = 1; For every billet j

Sum over i, j (pcsijxij) < PCS_GOAL;

xij is integer {0, 1}, Si, Jj > 0

End

M_Si and M_Bj are upper bound costs for assignments, i.e. if cijxij > M_SiSi then it may best to not assign any sailor to that billet (wait for next cycle or ?). Note: Other constraints may require xij for feasibility.

Model with Preference Constraints

Min

Sum cijxij // Cost of assigning sailor i to job j

+ Sum i M_Si Si // Penalty for not assigning Sailor i to a billet

+ Sum j M_Bj Bj // Penalty for not assigning a billet j

// Penalties could also be included for not meeting

// PCS costs or navy/sailor preferences

Subject to

Sum over j where i is qualified (xij) + Si = 1; For every sailor i

Sum over qualified i (xij) + Bj = 1; For every billet j

Sum over i, j (pcsijxij) < PCS_GOAL; // Given total available PCS funds

Sum over i bidding on job j (navy_prefijxij + sailor_prefijxij) < Pj ; j billets

xij is integer {0, 1}, Si, Bj, and P are > 0

End

Instead of rolling preferences into a cost cij, that may include many other costs (hardship, re-enlistment bonus, etc.), add side constraint(s) for each billet. E.g. Pj = 5 any of 1+1, 1+2, 1+3, 2+1, 2+2, 3+1 are acceptable preference combinations.

Other Models

- Side constraints
- Total training costs goal
- Total ________ (other) costs from MOE list
- Constraints for visibility
- Total PCS costs per community < Goalcomm
- Remember: Adding constraints generally makes the problem more difficult to solve!

Complexity Issues

- Networks with side constraints are integer programming problems usually solved exactly via branch-and-bound
- Thousands of binary variables imply difficulties in proving optimality
- Heuristic methods find good feasible solutions quickly
- Guided Design Search (exact or heuristic)

What is Guided Design Search?

- A preprocessing technique that identifies important variables and variable interactions.
- Assigns priorities and branching direction to all binary variables
- Used during branch-and-bound for variable selection and branching direction (which direction to search)
- Puts “good” variables at the top of the search tree
- Uses testing of the solution space via experimental design techniques (not random sampling)
- Relatively small amount of testing yields large amount of information on affect of variable on objective function
- Estimates of interaction effect between variables can also be calculated
- Setting variables high or low greatly diminishes the solution space to be examined & the time to feasibility & optimality
- Can affect optimality

Results from 8 binary integer programs comparing GDS to default CPLEX (problem sizes ranging from 1,000 to 4,000 variables).

Graphs show time to feasible and optimal solutions*.

GDS solves 4 out of the 8 problems.

time

* Need to show opt gap from relaxation of binary variables is large

Algorithm for Guided Design Search

- Create a DOE table of variable assignments
- Large # of vars fractional factorial / confounding
- Analogous to table of test runs in production env.
- For each test run
- Assign the variables their values
- Evaluate & record the objective function value
- Perform a “mirror” test to remove confounding of main effects
- Calculate estimates of main effects
- Generate variable selection & direction priorities for CPLEX, then set via CPXcopyorder( ); prior to CPXoptimize();

Pre-solve

The (+) or (-) effect on the objective function is used for variable branching direction.

- The magnitude of (+) or (-) used for variable selection priority, i.e. a average effect close to 0 is given a low selection priority.

- Many infeasible assignments are possible!
- Add artificial variables to all constraints
- Penalize the artificials in the objective function
- Greatly affects the estimate of a variable’s main effect
- How much of a penalty?
- Are some constraints more important than others?

Slack and surplus variables ensure feasibility, but are penalized in the objective function by big M.

The penalty for violating a constraint can be tailored to the problem. E.g. high penalty for violating training cost will affect the variable effect estimates – making the vars that generally don’t violate the constraint to be given higher priority in GDS.

Variable Selection & Direction Priorities (minimization)

- Still under investigation, but so far …
- Large positive estimated main effect
- Give variable high priority & follow branch OFF
- Large negative estimated main effect
- Give variable highest priority & follow branch ON
- Insignificant estimated main effect
- No priority, let CPLEX decide what to do

Future Work

- Ensure accurate model before generating & solving too many problem instances
- Determine appropriate experimental design for testing GDS
- Effect of and interaction between MOE parameters, feasibility penalties, variable selection & branching rules, etc.
- Determine complexity of problems
- Time to integer feasibility, time to optimality, etc.
- Investigate setting some variables to 0/1 to reduce complexity
- Can greatly reduce time to feasibility (10x – 100x faster than CPLEX)
- Investigate cutoff rules for setting variable branching direction & selection priority
- Determine appropriate Journal for publication of research

Workshop Direction from ONR

- Agreement on our method for generating problems for research
- Suggest other side constraints for added visibility
- Size of typical problem (sailors/billets)
- Suggest other costs to include in cij
- Suggest other parameters (stochastic or binary) that affect solution (e.g. total PCS cost)
- Used in DOE design testing

Download Presentation

Connecting to Server..