Optimization

During crisis response, resources are limited. In a short amount of time, first responders need to evaluate the situation they are in and decide on the most efficient plan of action to respond to crises. The Remote Sensing course discusses optimization problems and optimization algorithms to maximize the effect of data analysis and operations.

Topics Covered

  1. Decision making
    • What decisions need to be made in HADR applications?
    • Who makes those decisions?
    • What information is necessary to support decisions?
    • What costs/benefits/constraints are considered?
    • What is optimization? What kind of optimization problems are there?
    • How to sort data?
  2. What optimization problems can be done on graphs?
    • What is optimization?
    • Why is optimization difficult?
    • Combinatorial difficulty, integer problems
    • What kinds of optimization problems are there?
      • Shortest path problems
      • Routing problems
      • Sensor placement/knapsack
  3. Traveling salesman problem (TSP)?
    • What approaches are there to TSP?
    • What variations are there of TSP?
    • How to implement a solution to TSP (greedy) in python (networkx)
    • How to improve on greedy solution
  4. Knapsack problem
    • Formulation
    • Applications in real world: budgets, scheduling
    • Approaches: greedy, discuss edge cases where greedy fails
  5. What are job-shop scheduling problems (JSP)?
    • How can they be represented on a graph?
    • What can be modeled as JSP?
    • What approaches can you take for JSP?
    • How to implement a solution to JSP? How to improve?
  6. Exercise: implement greedy approach, see if they can improve
    • Lecture + Teambuilding exercise: Sorting algorithms
    • Teambuilding exercise, phase I: students are to line up by age, increasing. Timed.
    • Lecture: sorting algorithms
      • big O() complexity
      • data structures
      • simple sort algorithms, incl. heapsort
    • Teambuilding part II: each student is given a random number, need to sort by number, increasing. Timed again.
    • Discussion – were they able to improve on their time from part I?
      • Part III: repeat one last time the sorting exercise, except the students get to discuss and plan for up to 5 minutes beforehand. They get new random numbers, and have to sort again.
    • Discussion, were they able to improve given prep time? What things helped/didn't help?
      • Goal of part I -> part II is to teach the benefit of doing things with more efficient algorithm. Goal of part II -> part III is the teach benefit of communication, planning, and setting responsibilities.