Lecture 1
Computational Models
 Optimization models
 Statistical models
 Simulation models
Optimization Models
 An objective function that is to be maximized or minimized, e.g.,
 Minimize time spent traveling from New York to Boston
 A set of constraints (possibly empty) that must be honored, e.g.,
 Cannot spend more than $100
 Must be in Boston before
5:00PM
Knapsack Problem
 You have limited strength, so there is a maximum weight knapsack that you can carry
 You would like to take more stuff than you can carry
 How do you choose which stuff to take and which to leave behind?
 Two variants
 0/1 knapsack problem
 Continuous or fractional knapsack problem
 Each item is represented by a pair,
<value, weight>
 The knapsack can accommodate items with a total weight of no more than
w
 A vector,
L
, of length n, represents the set of available items. Each element of the vector is an item
 A vector,
V
, of length n, is used to indicate whether or not items are taken. If V[i] = 1, item I[i] is taken. If V[i] = 0, item I[i] is not taken
 Find a
V
that Maximizes:
 $\displaystyle\sum_{i=0}^{n1}V[i]*I[i].\text{value}$
 Subject to the constraint that:
 $\displaystyle\sum_{i=0}^{n1}V[i]*I[i].\text{weight} \le w$
Brute Force Algorithm
 Procedure:

 Enumerate all possible combinations of items. That is to say, generate all subsets of the set of subjects. This is called the power set.

 Remove all of the combinations whose total units exceeds the allowed weight.

 From the remaining combinations choose any one whose value is the largest.
 Dark Side:
 Will take a considerable time to get the power set.
 There will lots of
V
s to indicate whether or not items are taken.
Greedy Algorithm
 Put “best” available item in knapsack
 Procedure:
 Define what the best means.
 Sort the items.
 Take the items from the best to the worst, stop when it hit the maximum.
 Dark Side:
 Sequence of locally “optimal” choices don’t always yield a globally optimal solution