1 / 23

Guided Design Search in the Sailor Assignment Problem

Guided Design Search in the Sailor Assignment Problem. Mark Lewis University of Mississippi mlewis@bus.olemiss.edu. Sailor Assignment Problem. Minimize cost of assigning billets to sailors subject to various costs & constraints Modeled as an assignment problem with side constraints

sandra_john
Download Presentation

Guided Design Search in the Sailor Assignment Problem

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Guided Design Search in the Sailor Assignment Problem Mark Lewis University of Mississippi mlewis@bus.olemiss.edu

  2. 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???

  3. 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

  4. Direction from ONR

  5. 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

  6. 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.

  7. 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

  8. Example PCS Cost Matrix • PCS costs will be (uniformly) randomly generated per sailor per billet

  9. 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.

  10. 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.

  11. 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!

  12. 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)

  13. 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

  14. 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

  15. GDS vs. CPLEX on 2 larger problems

  16. 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

  17. 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. Modeling the MIP for Samples • 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?

  18. Infeasibility penalty 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.

  19. 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

  20. Representative Solution Distributions

  21. 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

  22. 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

More Related