Team Projects
Team Projects
Team Projects
Description
The bakery shop is part of a large food service chain that provides meals to a county
school system and other customers. The bakery is responsible for delivering products to
over 50 delivery points. The manger of this bakery shop is concerned with maintaining
on time deliveries. The main reason for this concern is not the penalty he has to pay for
late deliveries, but maintaining customer satisfaction. There are profits in minimizing the
travel distance or maximizing load, but achieving timeliness at low cost does more than
maximizing profits of the bakery shop.
The manager of the bakery shop is interested to build a decision support system that will
help in scheduling delivery routes in such a way the customer satisfaction is guaranteed.
Currently the manager is just guessing and physically testing the delivery routes. This
makes the addition of new delivery routes expensive.
Excel Spreadsheets
1. The manager used the straight line distance between delivery points as an
estimate of the travel time, since the travel time between delivery points has very
small variance and is generally a small portion of total time required to complete
a route. The following table presents the expected travel time as a function of
distance traveled.
2. Loading and unloading times make up a big portion of the time required to
complete a route. These times depend on the volume of products delivered.
Cerate the following table that presents the expected loading and unloading time
as function of the load size.
3. Create a spreadsheet that keeps the following information about each customer:
identification number, name, address, telephone number, location (X and Y
It is with high probability that the manager would reject unfamiliar or overly complicated
solutions. For this reason we suggest the following nearest neighbor heuristic to pick
routes and estimate completion times.
Simulation
There are uncertainties in the size of customer demand, the time it takes to load/unload
the trucks and also the travel time. Therefore, we should perform a simulation study to
assure reliability of the results. We run the simulation 100 times. Each time we randomly
generate the customers demand. Historical data about customer demand is used to
identify the distribution of demand. In each run, the load/unload times and travel times
will be calculated using the information provided in spreadsheets 1 and 2. For example,
if the load does not exceed 5 units, the unload time is normal distributed with mean 11
and standard deviation 2.
The objective of this simulation study is to identify the probability the schedule we
propose (the solution from the heuristic) will deliver the products on time.
User Interface
1. Create the following data entry forms for: customer information, customer
demand, products, loading and unloading times, etc. These forms allow the
user to add, update and delete information about the customers, customers
weekly demand, weekly production for each product, loading and unloading
times, etc.
2. Create a form(s) that allow for an interactive implementation of the nearest
neighbor heuristic.
Reports
1. Report the weekly delivery schedule (as provided from the heuristic) that
guarantees customer satisfaction. Provide the total delivery costs as well as
expected delivery times.
2. Use histograms to identify the distribution of demand for each customer.
3. Report a summary of the results from the simulation analysis. Include in the
results: the probability that the promised delivery times will be met by the
schedule, expected delivery times and costs, etc.
4. Report detailed information about the customers that have payments due.
5. Report the following statistics:
a. Actual weekly cost of distribution during the last 52 weeks.
b. Actual revenues from sales in the last 52 weeks.
c. Annual profits.
Source
Top
Hospitals keep record of their inpatients and outpatients. The Outdoor Patient Division
(OPD) keeps detailed records about the patients and their visits. Hospitals are interested
in using this information to support their decisions about recruiting personnel (doctors
and nurses) and preparing the weekly working schedule of their staff. The aim of this
project is to build a decision support system that would help with data storage and data
analysis. This system will enable the managers to answer the following questions and
make the right decisions:
1. Is the patient waiting time and service in a particular department within the
desired limits?
2. Is the doctors and nurses workload in a particular department within the
required limits?
3. How many doctors and nurses should be in duty in a particular department, at
different times and days of the week to bring the waiting time of patients within
the desired range?
Excel Spreadsheets
User Interface
nurse working hours; etc). Insert a textbox where the user can type in the
confidence level of the analysis. Insert a command button that when clicked-
on performs the analysis and reports the following statistics: mean, standard
deviation, confidence interval, etc.
d. The system provides a simulation analysis. The user should define the total
number of entities (patients) to be generated during a simulation run and the
length of the warm-up period. Insert textboxes to allow the user to type in
these values. Insert a command button that when clicked-on performs the
simulation study and opens the report that presents the corresponding
results.
3. Create a data entry form for each spreadsheet. These forms will enable the user
to enter and edit the information saved in this database. In creating the forms use
textboxes, combo boxes, list boxes, etc. Provide validation rules to ensure
validity of data entered.
Design a logo for this project. Insert this logo in the forms created above. Choose a
background color. Choose a color for the titles. Include in the forms created: record
navigation command buttons, record operations command buttons, form operations
command buttons as needed.
Reports
1. Prepare a summary report (overall departments) that presents the results from
the data analysis of patient waiting time and service time, doctors and nurses
workload, etc. Give a graphical representation of the confidence interval and
mean for each parameter.
2. Prepare a summary report for each department that presents results from the
data analysis of patient waiting time and service time, doctors and nurses
workload, etc.
3. For each department, report the total number of doctors and nurses in duty and
the average patient waiting time in a particular hour of the day, for each day of
the week.
4. Report the departments that do not satisfy the requirements set by the hospital in
terms of patient waiting time, patient service time and staff workload.
5. Prepare a report that summarizes the results from the simulation analysis. In
particular report for each department the total number of doctors and nurses that
should be in duty in a particular hour of the day, for each day of the week such
that the total waiting time of patients and staff overload is within the required
standards.
Simulation
A simulation study is necessary to determine the total number of doctors and nurses that
should be hired in a particular department. We assume that during a particular visit the
patient is serviced by a single department. Depending on the diagnoses, during his/her
visit the patient may see more than one doctor and one nurse. Using the data from the
spreadsheets, for each department, for each hour of a day and each day of the week
calculate: the inter arrival time of outpatients, the average number of doctors and nurses
in duty, and the average service time for each doctor. Identify the distribution of the
service time. Run the simulation model using these parameters.
Use the results from this simulation to calculate: average, maximum and minimum
patient waiting time and service time and total number of patients waiting during a
particular time of day, each day of the week, etc.
Perform a sensitivity analysis with respect to the total number of doctors and nurses. For
each department increase/decrease the number of doctors and nurses in different hours
of a day, all days of a week. Re-run the simulation until the patient waiting time and staff
overload is within the requirements of the hospital. This analysis will help us identify the
total number of doctors and nurses needed in each department. The results may
indicate that instead of hiring, we could transfer nurses from the over-staff departments
to under-staff departments.
Summarize the main results and report statistics collected from the simulation study. To
learn more about simulation, input and output analysis see Winston (1994).
References
Winston L.W. Operations Research: Applications and Algorithms. Duxbury Press, 3rd
Ed., 1994.
Top
PutItOn Co. is a company that designs and produces various clothing lines. The
company uses the internet and catalogue to advertise and sell its products. Every
season the company offers new designs, prepares and distributes a catalogue featuring
these items. Recently, the management has noticed an increase in the returns of a
particular style of sweater that was sold during the Christmas season. The management
is concerned about this phenomenon and wants to identify the problem areas and repair
the mistakes.
The return policy requires from the customers to indicate the reasons for returning the
product. The customers are supplied with a number of reasons to choose among. This
data will then be used to pin point the reasons for such a quality failure. The aim of this
project is to build a decision support system that will facilitate the data analysis.
Spread Sheets
1. The following spreadsheet lists the reasons for returning the product.
2. Create a spreadsheet that carries the data about each return. Below we present
a sample of the data collected from the returned sweaters.
User Interface
a. Insert a command button that when clicked-on opens the data entry form for
spreadsheet 2.
b. Insert a command button that when clicked-on opens spreadsheet 1.
c. Insert a frame that has two option buttons. One option button allows the user
to sort the information in spreadsheet 2 based on the primary cause of return.
Within each group the information is sorted based on the secondary cause of
return and then based on the third cause of return. The second option button
allows the user to sort the information in spreadsheet 2 based on the
procurement mode. Within each group sort the information by primary,
secondary and third causes of return. Include a command button that when
clicked-on sorts the information in spreadsheet 2 based on the users request
and then opens the spreadsheet.
d. Insert a frame that includes a number of option buttons. Each button allows
the user to choose one of the following options: find five reasons that were
selected most of the time as a primary reason for return; find five reasons that
were selected the least number of times as a primary reason for return; find
five reasons that were selected most of the time as a secondary reason for
return; find five reasons that were selected most of the time as the third
reason for return. Insert a command button that when clicked-on calculates
the statistics described above and returns the results.
e. Pareto analysis is used very often to identify product/process quality
problems. This analysis indicates that 20% of the reasons cause 80% of the
returns. In here we describe the steps one should follow to complete the
Pareto analysis: (i) calculate the total number of returns; (ii) for each cause of
return calculate the total number of customers that have selected that reason
as the primary cause of return; (iii) for each cause of return calculate the
percentage of returns (returns for the selected reason/total returns), sort the
information in a descending order of the percentage return and calculate the
cumulative percentages; (iv) repeat steps (i) to (iii) for the secondary and third
causes of return. Insert a command button that when clicked-on performs the
algorithm described above and presents the corresponding results.
Design a logo for this project. Insert this logo in the forms created above. Choose a
background color. Choose a color for the titles. Include in the forms created: record
navigation command buttons, record operations command buttons, form operations
command buttons as needed.
Reports
References
Montgomery, D.C., Runger, G.C. Applied Statistics and Probability for Engineers, 3rd
Ed., John Wiley & Sons, 2003.
Top
Description
The aim of this project is to build a decision support system that keeps record of: spares
used; the current inventory level for each part; scheduled maintenances; etc. The
system should enable the managers identify the weekly demand for each part, parts to
be ordered and corresponding quantities, equipments that should be replaced, etc.
Excel Spreadsheets
1. Create a spreadsheet that keeps the following information about each spare: name,
unit cost, on-hand inventory, equipment/s where it can be used and quantity used,
name of the vendor that supplies the part, and the corresponding lead time.
2. Create a spreadsheet that presents the timetable of the maintenances /replacements
for equipment.
3. Create a spreadsheet that presents historical information about the spare parts used.
The spreadsheet should include the part name, date used, quantity used and the
name of the equipment used in.
User interface
of the parts from this list. Insert a check box to enable the user to choose
whether s/he wants to perform a goodness-of-fit test (the Chi-square test).
Insert a command button that when clicked-on builds a histogram, calculates
the mean and standard deviation and performs the goodness-of-fit test (if
chosen by the user). For details about Chi-square test see Law and Kelton
(2000).
d. Insert a combo box to enable the user to choose a particular part. Insert a
command button that when clicked-on lists all the equipments that use the
selected part.
e. Insert a textbox where the user can type a date. Insert a command button
that when clicked-on lists details about the maintenances scheduled for the
selected date.
f. Insert a command button that when clicked-on lists all the equipments for
which the current years expenses on maintenance is higher that 30% of the
value of the equipment. The management may decide to replace such
equipment.
g. Insert a command button that when clicked on runs the simulation model
build for this problem.
Design a logo for this project. Insert this logo in the forms created above. Choose a
background color. Choose a color for the titles. Include in the forms created: record
navigation command buttons, record operations command buttons, form operations
command buttons as needed.
Reports
Simulation
A simulation study is necessary to determine when and how many parts to order. We
assume that: there is one week lead time, there is a fixed cost for each order, and the
unit inventory holding cost is equal to 20% of the unit cost of the spare part. Note that a
particular part can be used during breakdowns and scheduled maintenances of
equipments. Use the historical information to determine the breakdown pattern of
equipments. The objective of this simulation is to identify the size and frequency of each
order such that the down time of equipments and costs are minimized.
Perform a sensitivity analysis with respect to the batch size and frequency of orders. For
each spare part increase/decrease the size of the order and the pattern of the orders
(order every week, every other week, every month, etc). Rerun the simulation for each
scenario. Calculate the average downtime of equipments under each scenario and the
corresponding total cost. The results from this study will help the management to decide
about the size and frequency of orders.
To learn more about how to build a simulation model and perform output analysis see
Winston (1994).
References
Law, A.M., Kelton, W.D. Simulation Modeling and Analysis, 3rd Ed., McGraw-Hill, 2000.
Winston L.W. Operations Research: Applications and Algorithms. Duxbury Press, 3rd
Ed., 1994.
Top
R-chart and x -chart are used to monitor the mean and variability of process distribution.
The p-chart is used to control the proportion of defective products or services generated
by the process. The c-chart is used to control the number of defects when more than
one defect can be present in a product or service. Process capability ratio is equal to the
ratio of the tolerance width and 6 standard deviations. Process capability index measure
the potential for a process to generate defective outputs relative to either upper or lower
specifications. The two last measures indicate the ability of a process to meet the design
specifications for a product or service.
The aim of this project is to build a decision support system that would enable the
managers to use SPC methods to determine whether the quality of the products
produced meets the specifications and if not identify what causes the problem. To learn
more about SPC techniques the reader is referred to Krajewski and Ritzman (2002).
Excel Spreadsheets
1. The following spreadsheet presents the factors for calculating the three-sigma
limits for the R-chart and x -chart.
Sample Size Factor for UCL and Factor for LCL Factor for UCL
(n) LCL for x -charts for R-charts for R-charts
(A2) (D3) (D4)
2 1.880 0.000 3.267
3 1.023 0.000 2.575
4 0.729 0.000 2.282
5 0.577 0.000 2.115
6 0.483 0.000 2.004
7 0.419 0.076 1.924
8 0.373 0.136 1.864
9 0.337 0.184 1.816
10 0.308 0.223 1.777
User Interface
Design a logo for this project. Insert this logo in the forms created above. Choose a
background color. Choose a color for the titles. Include in the forms created: record
navigation command buttons, record operations command buttons, form operations
command buttons as needed.
Reports
1. Report the following results when the control charts for variables are used to
monitor the mean and the variability of the process distribution: R , x , UCLR and
LCLR, UCL x and LCL x , graph the R-chart and x -chart and plot the
observations on these charts.
2. Report the following results when the p-chart is used to monitor the proportion of
defective products or services: p , p , UCLp and LCLp, graph the p-chart and
plot the observations.
3. Report the following results when the c-chart is used to monitor the number of
defects (when more than one) present in a product or service: c , UCLc and
LCLc, graph the c-chart and plot the observations.
4. Report the following results when the user chooses to identify the ability of the
process to meet the design specifications for a product or service: , x , process
capability ratio and process capability index.
References
Top
A rental car company owns a number of vehicles. The vehicles, when not rented, are
located in a number of parking lots around the town. The parking lots are not owned by
the company. The company is charged differently for each vehicle. The rate charged
depends on: the size and type of the vehicle, the location of the parking lot used, the
duration of parking and time of parking (the rates are lower during the weekend and at
night).
The management is concerned about the parking expenses. They want to find out the
best assignment of vehicles to parking lots so that parking expenses are minimizes. We
describe a mathematical model to solve this problem. The aim of this project is to build a
decision support system that will enable the management to solve the problem of
assigning vehicles to parking lots, and perform sensitivity analysis with respect to
different parameters. The sensitivity analysis will give more insights about how
fluctuations in prices and (parking lots) capacity will affect the optimal assignment of
vehicles to parking lots.
We propose a mathematical model to solve the problem. The following are some of the
notation we use in our problem formulation:
xijk: takes value 1 if vehicle i is parked in parking lot j in period k; and 0 otherwise,
I J K
min cijk xijk
i =1 j =1 k =1
subject to :
J
xijk =1 i = 1,..., I ; k = 1,..., K , (1)
j =1
I
xijk zj j = 1,..., J ; k = 1,..., K , ( 2)
i =1
I I k 1 I k
xijk z j xijk + ijk j = 1,..., J ; k = 1,..., K , (3)
i =1 i =1 t =1 i =1 t =1
xijk , {0,1} i = 1,..., I ; j = 1,..., J ; k = 1,..., K . ( 4)
The objective is to minimize the total cost of parking. Constraints (1) show that a vehicle
can be parked in only one parking lot in a particular period of time. Constraints (2) show
that the total number of vehicles parked in a particular parking lot in a period of time
should not exceed the capacity of the parking lot. Constraints (3) show that the total
number of vehicles assigned to parking lot j in period k must be at most as much as the
number of parking spots available. The number of parking spots available is equal to
park capacity minus the total number of vehicles assigned to parking lot j from time 0 to
k-1 plus the total number of vehicles that left the parking lot from time 0 to k. Constraints
(4) indicate that the decision variables are binary variables.
Excel Spreadsheets
1. Create a spreadsheet that presents the following information about each parking
lot: the cost charged for parking a particular vehicle during different times of the
day and different days of the week.
2. Create a spreadsheet that presents for each car the time it entered and the time
it left a particular parking lot.
3. Create a spreadsheet that presents the capacity of the parking lots.
User Interface
prices, best times, most available. Insert two command buttons: the OK and
Cancel buttons. When the user clicks-on button OK, form (3.b) is open.
b. This form specifies the search criteria. Depending on the choice the user
made in (3.a) one of the following frames appears.
- Insert a frame labeled best prices. The frame has three option buttons
named: by vehicle, by parking lot, by time. Insert a command button that
when clicked-on searches the database for the parking lots that offer the best
prices for each vehicle type, the best price overall, or the best price for each
time spot depending on the users choice.
- Insert a frame labeled best times. Insert two combo boxes that allow the
user to choose a vehicle and a parking lot. Insert a command button that
when clicked-on presents the best (cheapest) time spots. The combo boxes
should have a line called All that when chosen by the user presents
correspondingly: the best time spots for all vehicles in a particular parking lot;
or the best time spots for a particular vehicle in all parking lots.
- Insert a frame labeled most available. Insert a combo-box that allows the
user to pick a particular time spot. Include a command button that when
clicked-on presents five of the parking lots that have the most number of
available spots.
4. Create a form that includes the following items:
a. Insert a frame labeled Data Entry. This form has three option buttons. The
option buttons enable the user to choose to open one of the three data entry
forms. Insert a command button that when clicked-on opens the selected
form.
b. Insert a command button that when clicked-on opens the search form (form
number 3).
c. Insert a command button that when clicked-on runs the integer programming
model and opens form number 5 described below.
5. Create a form that presents the solution of the integer programming model. Insert
a frame labeled Sensitivity Analysis. In this frame include a combo box to
enable the user to choose the parameter (cijk) with respect to which we will
perform the sensitivity analysis. Insert a command button that when clicked-on
performs the sensitivity analysis and opens the corresponding report.
Design a logo for this project. Insert this logo in the forms created above. Choose a
background color. Choose a color for the titles. Include in the forms created: record
navigation command buttons, record operations command buttons, form operations
command buttons as needed.
Reports
1. Report the results from the integer programming model. In particular the total
monthly expenses of the company for parking.
2. Report the results of the sensitivity analysis.
3. Report for each vehicle the parking lot/s that offers the best rates.
4. Report the parking lots that offer the best rates in general.
5. Report for each parking lot the rates during the weekends.
6. Plot the utilization of each parking lot during the working hours.
7. Plot the utilization of each parking lot in the weekend.
Top
Regional Transit System (RTS) is a company that provides bus transportation service in
Gainesville, Florida. The service offered by RTS is free for students and employees of
the University of Florida. Therefore, it is the most widely used mode of transportation.
Increased popularity of this service has, however, caused few problems. Students
complain of missing the busses due to delays and lack of available seats. In particular
Route 16 and 20 are very busy as they pass by residential areas populated with
students.
The management is concerned about these complains. The management has realized
that while the buses are full at about 8-9am in the morning, or 4-6pm, there are time
periods when the buses move almost empty. The management wants to know what
causes this problem and how it can be fixed. Also, in a particular time period some
routes are busier that others. They have thought of few actions that can be taken to
improve the situation: buy new buses or/and re-organize the bus schedule. In case that
more busses are needed, they need to know how many buses should be purchased. In
case that the schedule needs re-organizing, they need to figure out the new schedule.
The aim of this project is to build a decision support system that would enable the
management to understand what is wrong with the current way of operating the system
and identify ways to improve the service.
For the purpose of this project we provide a simulation model that can be used as
decision making tool.
Simulation Model
1. Use past data to identify the distribution of the number of student arriving at the bus
stop during pick hours and off-pick hours.
2. Use past data to identify the distribution of the number of student leaving the bus at
each bus stop during pick hours and off-pick hours.
3. From here on we will refer to a route r (r = 1,, R, R is the total number of routes) as
a sequence of stops that starts with stop r1 and ends at stop r1. Trip s = r*t (s =
1,,T*R, T is the total number of time periods) travels route r during time period t.
For example trip 1 corresponds to the travel in route 1 that starts at 6:00am and ends
6:20am (assuming it takes 20min to travel route 1).
4. Build a simulation model using the data about the total number of routes, total
number of trips, total number of buses available, total number of stops per route,
travel time between two stops, distribution of student arrivals in each bus stop,
distribution of student departures in each buss stop. The bus service goes on from
6am in the morning to 12am next morning. If the bus capacity is reached, the bus will
not stop in the next bus stop.
5. Run the simulation model using the current number of buses and the current
schedule. Calculate the average, minimum and maximum student waiting time in
each bus stop during pick hours and off-pick hours. Calculate the average bus
utilization in each route. Give a graphical representation of the total number of
students waiting on a bus stop in different hours during the day.
6. Rerun the simulation model for the following scenarios: (a) Change the number of
busses operating in a particular route. Note that the most problematic routes are
routes 16 and 20. (b) Increase the number of busses operating during the pick hours.
(c) Decrease the number of busses operating off-pick hours. For each scenario
calculate the average, minimum and maximum student waiting time in each bus stop
during pick hours and off-pick hours. Calculate the average bus utilization in each
route. Give a graphical representation of the total number of students waiting on a
bus stop in different hours during the day.
To learn more about simulation modeling and analysis see Winston (1994) and Law and
Kelton (2000).
Excel Spreadsheets
1. Create a table that has as many rows as the total number of trips, and as many
columns as the total number of stops (overall the routes). Each cell of the table
presents the time (during the day) a bus traveling a particular trip stops in a
particular bus stop. This table presents the current bus schedule.
2. Create a table that presents for each bus the corresponding capacity and the
number of the route it travels.
User Interface
types in the textbox the total number of busses to be added on the selected
trip. The user can either type in a positive or a negative number in order to
increase/decrease the number of busses on a particular trip.
d. Insert a frame titled Reschedule a Trip. The frame includes a combo box
that enables the user to pick a particular trip. Insert a command button that
when clicked-on displays a table that has one row and as many columns as
the total number of stops. The user types in the new schedule for the
selected trip.
e. Include a command button that when clicked on runs the simulation taking
into account the following information specified by the user: total number of
replications, warm-up period, additional number of busses in a particular trip
and the new schedule for the selected trip.
Report:
1. Report on the result of the simulation study. The report should include: average,
minimum, maximum waiting time in each bus stop during pick hours and off-pick
hours; total number of students waiting in a bus station; total number of students
that could not take the bus because the bus capacity was reached; bus utilization
in different times of the day.
2. Report the results from the sensitivity analysis. Note that the results should not
be overridden every time the simulation model runs. Instead, keep all the records
from the sensitivity analysis.
3. Graph for each simulation run: the total number of students waiting in a bus stop
in different time periods, total waiting time per bus stop, bus capacity utilization in
different time periods.
References
Law, A.M., Kelton, W.D. Simulation Modeling and Analysis, 3rd Ed., McGraw-Hill, 2000.
Winston L.W. Operations Research: Applications and Algorithms. Duxbury Press, 3rd
Ed., 1994.
Top
COMP Co. manufactures three types of computers: personal computers, laptops, and
main frames. Two major operations in their production lines are final product assembly
and testing. The management is concerned about these two processes as they involve
scarce resources. This issue is making the process of scheduling production more
challenging.
The aim of this project is to create a decision support system that will help the
management building a production schedule for a period of n weeks considering
resource constraints in the assembling and testing processes. For the purpose of this
project, the user can enter the data manually or read the data from a file.
The Model
The following is a linear programming model for the production planning problem. The
first set of constraints presents the flow conservation constraints, the second and third
set of constraints are the capacity constraints and last set of constraints are the non-
negativity constraints.
n 3
min : (cij xij + hij I ij )
i =1 j =1
subject to :
xij + I i 1, j = d ij + I ij i = 1,..., n, j = 1,...,3 (1)
3
xij i = 1,..., n (2)
j =1
3
j xij i = 1,..., n (3)
j =1
xij , I ij 0 i = 1,..., n, j = 1,...,3 (4)
where,
hij : unit holding cost of product j during week i,
dij : demand for product j during week i,
cij : unit production cost of product j during week i,
j : capacity usage coefficient for product j,
Excel Spreadsheets
1. Create a spreadsheet that presents the unit production cost for each product in
each week of the planning horizon.
2. Create a spreadsheet that presents the unit inventory holding cost for each
product in each week of the planning horizon.
3. Create a spreadsheet that presents the demand for each product in each week of
the planning horizon.
4. Create a spreadsheet that presents the capacity usage coefficient for each
product.
User Interface
1. Welcome form.
2. Create a form that includes the following items:
a. Insert a frame called Problem Data. The frame includes two option buttons.
The user has the choice to select whether s/he wants to read the data from a
file or manually enter the data. Include a command button that when clicked-
on performs these actions:
i. If the user chose to read the data from a file, a textbox should appear
where the user types in the name of the file.
ii. If the user chose to enter the data manually, a textbox should appear
where the user types in the total number of weeks. After the number of
weeks is submitted, four tables appear. In the first table (with
dimensions 3 by n) the user types in the unit production cost, in the
second table (3 by n) the user types in the unit inventory holding costs,
in the third table (3 by n) the user types in the weekly demands, and in
the fourth table (1 by n) the user types in the capacity usage
coefficients.
b. Insert two textboxes where the user can type in the production capacity in the
assembly line and the capacity of the testing equipments.
c. Insert a command button that when clicked-on runs the excel solver to
provide a solution to this problem and opens form number 3 described below.
3. Create a form that presents the solution found from the solver. The user often is
interested to perform a sensitivity analysis with respect to certain parameters.
Insert the following items in the form to facilitate this process:
a. Insert a frame called Choose a Parameter. Insert six option buttons that
enable the user to choose a parameter (unit production cost, unit holding
cost, demand, capacity usage coefficient, assembling capacity, testing
equipment capacity) for the sensitivity analysis.
b. Insert a combo box called Choose a Product. The combo box enables the
user to choose a product for the sensitivity analysis. For example, the user
wants to test the sensitivity of the solution with respect to changes on the
demand for laptops.
c. Insert a combo box called Choose a Week. The number of items in the
combo box is equal to the total number of weeks in the planning horizon. For
example, the user might be interested to test the sensitivity of the solution
with respect to changes on the demand for laptops during the week of
Christmas.
d. Insert a command button that when clicked on runs the simulation study
using the parameters already defined by the user and opens the
corresponding reports.
Reports
1. Report the total number of personal computers, laptops, and main frames to
produce every week so that the total production and inventory holding costs are
minimized and capacity constraints are not violated.
2. Report the total number of personal computers, laptops, and main frames to be
hold in the inventory in each week of the planning horizon.
3. Give a graphical representation of the weekly production and inventory held
during the planning period.
4. Report the results from the simulation study.
References
Winston L.W. Operations Research: Applications and Algorithms. Duxbury Press, 3rd
Ed., 1994.
Top
1. Are the forecasts about future demand, price and costs reliable?
2. Is this product worthy to be investing on?
3. What will be the return from such an investment?
4. How long it will take this project to break-even?
5. How are the changes in inflation going to affect the profitability (net present
value) of this project?
The aim of this project is to build a decision support system that would enable the
company to store and analyze the data collected. The results from the data analysis
should help the management to make their decision about producing the product.
In order to give an answer to the questions posed above one can use the following
decision support tools:
1. Forecasting of future demand and inflation rate. For details about forecasting we
refer the students to Winston (1994).
2. Net present value analysis, breakeven analysis, internal rate of return and
payback period. For details we refer the students to Park (2003).
3. Sensitivity analysis with respect to demand, inflation rate, unit price and unit
production and inventory holding costs. For details about sensitivity analysis we
refer the students to Winston (1994).
4. Simulation model. For details about how to build a simulation model we refer the
students to Winston (1994).
Simulation Model
To build a simulation model for this problem follow these steps: (a) using past data about
demand, interest rate, price and costs identify the corresponding distributions; (b) create
a scenario by randomly generating demand, interest rate, price and costs for each
period of the planning horizon; (c) calculate the net present value, internal rate of return
and payback period for this project; (d) rerun steps (b) and (c) of this algorithm as many
times as defined by the user.
In the end of the simulation, report the expected net present value, expected internal
rate of return from the investment and expected payback period. Calculate the
probability of having an internal rate of return higher than 5%. Calculate a probability of
having a negative return from this project. Calculate the probability of payback period
longer than 2 years.
Excel Spreadsheets
1. Create a spreadsheet that presents data about past sales of a similar type of
diaper.
2. Create a spreadsheet that presents data about unit production costs and
inventory holding costs of a similar type of diaper.
User Interface
Reports
1. Report the forecasts of the monthly demand, unit price, unit costs and inflation
during the next two years.
2. Report the net present value of the project using the forecasts of demand, costs,
inflation and interest rate.
3. Report the payback period and internal rate of return using the forecasted data.
4. Report the results from the simulation analysis.
5. Report on the sensitivity of the final solution with respect to a 10% fluctuation on
demand, inflation, interest rate and cots. In performing the sensitivity analysis
report the changes in the net present value of the project as the change in the
parameter selected for this analysis varies from -10% to +10% in steps of 1%.
6. Graph the relationship between the net present value of the project and the
interest rate.
References
Winston L.W. Operations Research: Applications and Algorithms. Duxbury Press, 3rd
Ed., 1994.
Top
These days companies receive payments (checks) from customers all over the United
States. The checks are then sent to the bank and the money is finally transferred to the
companys account. Due to the time needed to ship the checks using U.S. Postal
Service and the time needed to process the checks in the bank, there is a variable delay
from the date when the check is postmarked by the customer to the time the check is
cleared (the company actually receives the money). These delays cost the company as
it could use the money elsewhere. In particular, when the checks are mailed across the
country the delay time is even longer. For example, a check mailed in Pittsburgh to a
company located in Pittsburgh is cleared within two days, however a check mailed in
Pittsburg to a company located in Los Angeles could take at least five days to clear.
Companies have discovered one way to clear checks as quickly as possible. To speed
up the process companies open offices in different cities around the country. These
offices, called lockboxes, handle companys checks in a timely manner.
This aim of this project is to build a decision support system that would help the
management to decide about where to locate the lockboxes such that the total time it
takes to clear the checks received by the customers is minimized.
The Model
In this project we aim to find where to locate the lockboxes such that the total travel time
of the checks is minimized. This is a location problem. We provide below a integer
programming formulation of this problem.
lij: is the lost interest due to the assignment of the region i to lockbox j. This is
calculated by multiplying the average daily return of the cash inflow by the
number of days that it takes to clear a check.
c j: is the cost of opening lockbox j.
y j: is a binary variable that takes the value 1 if lockbox j is opened and 0 otherwise.
xij: is a binary variable that takes the value 1 if region i mails checks to lockbox j and
0 otherwise.
I J
min : (lij xij +c j y j )
i =1 j =1
subject to :
I
xij = y j j = 1,..., J , (1)
i =1
J
xij = 1 i = 1,..., I , ( 2)
j =1
xij , y j {0,1} i = 1,..., I ; j = 1,..., J . (3)
The first set of constraints shows that an open lockbox should be assigned to exactly
one region. The second set of constraints shows that a region should be assigned to
exactly one lockbox. The third set of constraints is the integrality constraints.
Excel Spreadsheets
1. Create a spreadsheet that presents the the lost interets lij of assigning a lockbox
to a region.
2. Create a spreadsheet that presents the cost (cj) of opening lockbox j.
User Interface
Reports
1. Report the optimal locations of the lockboxes and the optimal assignment cost.
2. Give a graphical representation of the final solution.
3. Report the results of the sensitivity analysis.
References
Winston L.W. Operations Research: Applications and Algorithms. Duxbury Press, 3rd
Ed., 1994.
Top
For the purpose of this project, we consider a production facility consisting of four
workstations. In the process of transforming the raw materials to final products, all the
workstations are visited sequentially. The inter arrival time of the raw materials at the
facility follows a particular distribution. The processing time at a particular workstation
follows a particular distribution as well. The length of the queue in front of each
workstation is limit by the space available. There is an inspector in each workstation.
There is a certain probability that a product needs rework or is scrap. Scraps are
disposed and the products that need rework are sent back.
The aim of this project is to build a model to simulate this facility, verify and validate the
model, analyze the system. For the purpose of analyzing the system, calculate the
average /minimum/maximum queue length in each workstation, the
average/minimum/maximum waiting time in queue, the average throughput, the average
number of defects per workstation, the total amount of scrap, etc. For details on how to
build and analyze a simulation model we refer the students to Winston (1994) and Law
and Kelton (2000).
User Interface
3. Create a form that has a table called Summary of Results. The table presents
the following statistics from each simulation: the average /minimum/maximum
queue length in each workstation, the average/minimum/maximum waiting time
in queue, the average throughput, the average number of defects per
workstation, and the total amount of scrap. Insert a command button titled Rerun
the Simulation. When the user clicks-on this button, form number 2 opens. The
user can change some of the parameters on this form and run again the
simulation model. The purpose of creating the summary table and allowing the
user to rerun the simulation is to allow the management to examine the
performance of the system, identify things that should change, make the changes
and see the results.
Reports
4. Report the following statistics: the average cycle time, the throughput, the
average queues length for each workstation, the average waiting time in queue,
the total amount of scrap, the utilization of each workstation.
5. Give a graphical representation of the utilization of each workstation with respect
to time.
6. For each workstation, give a graphical representation of the queue length with
respect to time.
References
Law, A.M., Kelton, W.D. Simulation Modeling and Analysis, 3rd Ed., McGraw-Hill, 2000.
Winston L.W. Operations Research: Applications and Algorithms. Duxbury Press, 3rd
Ed., 1994.
Top
The aim of this project is to build a Decision Support System that will enable agricultural
businesses to make better decisions. The following are some of the issues a farmer is
concerned about:
1. The farmers have to decide about how much to produce. This is not such an
easy decision, not only because demand is not known in advance, but most
importantly because the production yields depend on unpredictable factors (such
as weather).
2. Land is a very expensive and scarce resource. A farmer has to decide during
planting season how much land to allocate to each crop.
3. The farmer has to identify how many employees to hire.
In order to solve the problem of finding an optimal allocation of resources to each crop,
we use linear programming. Linear programming has shown to be a powerful
optimization tool that has been used to model several other problems. Below we
describe the linear programming model.
The first set of constraints show that the land available should be completely used to
plant the crops. The second set of constraints show that the total number of working
hours allocated to harvesting the crops should not be greater than the total number of
working hours available. The third set of constraints shows that production of a particular
crop should be at least as large as the corresponding demand. The last set of
constraints is the non-negativity constraints. The objective is to minimize the total costs
of planting and harvesting the crops. To learn more about linear programming we refer
the students to Winston (1994).
n
min : (ci xi + ri z i )
i =1
Subject to :
n
xi = A (1)
i =1
n
hi xi H (2)
i =1
l i xi d i i = 1,..., n, (3)
xi , z i 0 i = 1,..., n. (4)
Excel Spreadsheets
1. Create a spreadsheet that presents the demand and cost of planting one acre of
crop i (i = 1,, n).
2. Create a spreadsheet that presents the yield for crop i (i = 1,, n).
3. Create a spreadsheet that presents the total number of hours required to harvest
one acre of crop i (i = 1,, n).
User Interface
combo boxes, one for each of these parameters: demand, planting cost, yield,
and number of working hours per crop. These combo boxes enable the user to
choose a particular parameter to perform a sensitivity analysis. For example, the
user wants to know the sensitivity of the final solution with respect to demand for
corn (crop i). Include a command button that when clicked on performs the
sensitivity analysis with respect to the selected parameter.
Reports
References
Winston L.W. Operations Research: Applications and Algorithms. Duxbury Press, 3rd
Ed., 1994.
Top
The aim of this case study is to build a decision support system that will enable a
government organization to choose the most important from a variety of tasks. Note that
organizations make official commitment to some tasks; hence, they must be funded.
However, there are several other tasks out of which selection must be made. The value
of each task is measured based on a set of criteria. Some of the tasks have multiple
budget levels, such as, minimum, planned, and accelerated level. Different levels take
different values. Only one of the three levels can be included in the final portfolio, making
the tasks mutually exclusive. Below we present an integer programming formulation of
the problem.
Model:
yt is a binary variable that takes the value1 if task t is in portfolio, and 0 otherwise
T I
max : yt wi xit
t =1 i =1
subject to :
T
bt yt B (1)
t =1
yt =| P | (2)
tP
yt 1 s = 1,..., S , (3)
tD s
yt {0,1} t = 1,..., T . (4)
The objective is to maximize the performance of the system. The first set of constraints
shows that the number of tasks selected is limited by the budget available. The second
set of constraints shows that the tasks to which the government has made a
commitment should be selected. The third set of constraints shows that at most one of
the mutually exclusive tasks should be selected. The final set is presents the integrality
constraints.
Excel Spreadsheets
1. Create a spreadsheet that presents for each task the corresponding budget.
2. Create a spreadsheet that presents for each evaluation criteria the corresponding
weight as well as the score of each task received in each evaluation criteria.
User Interface
analysis with respect to the selected parameter(s) and opens the corresponding
reports.
Reports
References
Winston L.W. Operations Research: Applications and Algorithms. Duxbury Press, 3rd
Ed., 1994.
Top
Markov Chains
Description
Markov chains have been widely used to model stochastic processes. Markov chains
have been applied in areas such as education, marketing, health services, finance,
accounting, etc. The aim of this project is to build a decision support system that would
enable the user answer a number of questions related to Markov chains.
Markov Chains is a special type of discrete time stochastic process that evaluates the
probability of a system being in a particular state at time t+1 by only using the knowledge
of the state of the system at time t (it) and disregarding the states that the system had to
pass through on the way to it at time t.
P ( X t +1 = it +1 | X t = it , X t 1 = it 1 ,..., X 1 = i1, X 0 = i0 )
(1)
= P ( X t +1 = it +1 | X t = it )
Where, Xt is the relevant system characteristic (in our case purchasing behavior of
customers) at time t.
The following formula shows how to calculate the probability that the system will be in
state j at time t + n, given that the system is at state i at time t.
P ( X t + n = j | X t = i ) = P ( X n = j | X 0 = i ) = Pij ( n) (2)
Where, Pij (n) is the n-state probability of transition from state i to state j. Pij (n) is the ijth
element of the transition probability matrix P n . Note that for n = 0,
1 if j=i
Pij (0) = P ( X 0 = j | X 0 = i ) , therefore Pij (0) = .
0 if ji
It might happen that we do not know the state of the chain at time 0, therefore,
s
Pr obability of being in state j at time n = qi Pij (n) (3)
i =1
Where, qi is the probability that the chain is in state i at time 0, and s presents the total
number of states.
Given the transition matrix P for an s-state ergodic chain, the steady state probabilities
( = [ 1 , 2 ,..., s ] ) are such that:
1 2 ... s
...
lim P = 1 2
n s
. (4)
n M
1 2 ... s
To learn more about Markov Chains we refer the students to Winston (1994).
Excel Spreadsheets
User Interface
4. Welcome form.
5. Create a form that includes the following items:
a. Insert a frame called Problem Data. The frame includes two option buttons.
The user has the choice to select whether s/he wants to read the data from a
file or manually enter the data. Include a command button that when clicked-
on performs these actions:
i. If the user chose to read the data from a file, a textbox should appear
where the user types in the name of the file.
ii. If the user chose to enter the data manually, a textbox should appear
where the user types in the total number of states. After the number of
weeks is submitted, a table with dimensions s by s appears. The user
types in the transaction probabilities.
b. Insert a frame named Calculate n-Step Transaction Probabilities. Include
two option buttons on the frame named: I know the state of the Markov chain
at time 0 and I dont know the state of the Markov chain at time 0.
i. If the user chose the first option button, the following items appear: a
combo box that enables the user to pick a current state i; a combo box
that enables the user to pick the state s/he wants to be (state j) after a
number of periods; and a textbox where the user can type in the
number of periods (n) to move from i to j. Insert a command button that
when clicked-on submits the data and returns Pij (n) .
ii. If the user chose the second option button, in addition to the items
described in part 2.b.i a list box appears where the user can type-in the
probability that the original state is state i (type-in qi for i = 1,,s).
c. Insert a frame named Is State i Reachable from State j? The frame includes
two combo boxes that allow the user to choose states i and j and a command
button that when clicked on submits the information and returns an answer to
the question whether state i can be reached from state j.
d. Insert a command button named Calculate Steady-State Probabilities that
when clicked-on returns the steady state probabilities of the Markov chain.
e. Insert a command button named List the Absorbing States that when
clicked-on returns all the absorbing states of the system. If the system has at
least one absorbing state, a form appears that has three check buttons. The
first check button is named If the chain begins in a given transient state, and
before we reach an absorbing state, what is the expected number of times
that each state will be entered? The second check button is named How
many periods do we expect to spend in a given transient state before
absorbing takes place? The third check button is named If a chain begins in
a given transient state, what is the probability that we end up in each
absorbing state? Include a command button that when clicked on submits
one of the questions listed above and returns an answer.
Outputs:
References
Winston L.W. Operations Research: Applications and Algorithms. Duxbury Press, 3rd
Ed., 1994.
Top
The aim of this project is to build a decision support system that would enable the
managers to decide about assigning jobs to machines in such a way that the total time it
takes to complete all jobs is minimized. For the purpose of this project we assume that
one job can be completed by a single machine and a machine can work only at one job
at a time. We give an integer programming formulation and describe an algorithm that
can be used to solve the problem.
I J
min : t ij xij
i =1 j =1
Subject to :
I
xij = 1 j = 1,..., J , (1)
i =1
J
xij 1 i = 1,..., I , ( 2)
j =1
xij {0,1} i = 1,..., I ; j = 1,..., J . (3)
The objective is to minimize the total processing time. The first and second set of
constraints shows that all jobs should be assigned to machines, a job uses a single
machine and a machine can process at most one job. The third set is the integrality
constraints. This is a general assignment problem that can be solved using the
transportation simplex method. However, a simpler and efficient heuristic that can be
used is the Hungarian method. Below we present the main steps of the Hungarian
method. To learn more about the Hungarian method we refer the students to Bazaraa et.
al (1990).
Hungarian Method
Step 0:
Initialize the processing time matrix M ( mij M , i = 1,..., I ; j = 1,..., J ). The matrix
presents the time it takes to process each job in each machine.
Find the minimum element of each row ( mi* = min mij for i = 1,..., I ).
m11 m1* m12 m1* ... m1J m1*
m 21 m2* m 22 m 2* ... m 2 J m 2*
Create M* such that M * =
M
m m * m m * ... m m *
I1 I I2 I IJ I
Find the minimum element of each column ( m *j* = min m ij for j = 1,..., J ).
Create the reduced matrix M** such that
m11 m1** m12 m 2** ... m1J m *J*
m 21 m1** m22 m 2** ... m 2 J m *J*
M ** =
M
m m ** m m ** ... m m **
I1 1 I2 2 IJ J
Step 1:
Draw the minimum number of lines through the rows and columns that are needed to
cover all zeros in the reduced matrix. If minimum number of lines is equal to the order of
the matrix an optimal solution is available among the covered zeroes in the matrix. If
minimum number of lines is less than the order of the matrix, go to step 2.
Step 1:
Select the smallest uncovered (non-zero) element in the reduced matrix. Subtract this
element from each uncovered element of the reduced matrix and add it to each twice-
covered element. Return to step 2.
Excel Spreadsheets
1. Create a spreadsheet that presents the processing time of each job in each
machine.
User Interface
1. Welcome form.
2. Create a form that includes the following items:
a. Insert a frame called Problem Data. The frame includes two option buttons.
The user has the choice to select whether s/he wants to read the data from a
file or manually enter the data. Include a command button that when clicked-
on performs these actions:
i. If the user chose to read the data from a file, a textbox should appear
where the user types in the name of the file.
ii. If the user chose to enter the data manually, two textboxes should
appear where the user types in the total number of jobs (J) and the total
number of machines (I). Once this information is submitted, a table with
dimensions I by J appears. The user types in the processing times.
f. Insert a command button that when clicked-on solves the problem using the
algorithm described above and opens form number 3 described below.
6. Insert two frames in this form. The first frame titled Reports has a number of
option buttons that enable the user to choose to open one of the summary
reports described below. The second frame titled Sensitivity Analysis has two
combo boxes. The first combo box allows the user to choose a job (say job j) and
the second combo box allows the user to choose a machine (say machine i) for
the purpose of the sensitivity analysis. For example, the user wants to know the
sensitivity of the final solution with respect to the processing time of job j in
machine i. Include a command button that when clicked on performs the
sensitivity analysis with respect to the selected parameter.
Reports
References
Bazaraa, S.M., J.J. Jarvis, H.D. Sherali Linear Programming and Network Flows. John
Wiley & Sons Inc., 2nd Ed., 1990.
Top
Description
The marketing team has identified few alternatives, however further investigation is
needed to identify the best approach for the advertising campaign. The following are the
possible alternatives: there are two major magazines (A and B) in town where the
product could be advertised. The length of the advertisement period in each magazine
could be either up to 6 days, or up to 10 days or up to 16 days. The rates charged differ
by magazine and length of the advertisement period. The team has estimated the
number of people that would read the advertisement by magazine and advertisement
period length.
The main objective of this project is to build a decision support system that will enable
the marketing manager to allocate the limited funds in such a way that s/he will get the
maximum out of the advertisement campaign. We provide an integer programming
model to solve this problem. Note that the system we present below is built in such a
way that reflects the requirements described in this project, however, the students are
encouraged to generalize the problem.
3
max : (ai xi + bi yi )
i =1
Subject to :
3
(cai xi + cbi yi ) R (1)
i =1
3
xi 1 (2)
i =1
3
yi 1 (3)
i =1
xi , yi {0,1} i = 1,...,3. (4)
The objective of this model is to maximize the total number of exposures. The first set of
constraints shows that the amount spent in this advertisement campaign is limited by the
budget capacity. The second and third set of constraints shows that the optimal solution
will select at most one period to advertise in each magazine. The reason is that the cost
paid per day decreases as we go from the 1st advertisement period (up to 6 days) to the
2nd and finally the 3rd period has the smallest daily rates. The final set of constraints
shows that our decision variables are binary variables.
Excel Spreadsheets
User Interface
1. Welcome form.
2. Create a form that includes the following items:
a. Insert a frame called Problem Data. The frame includes two option buttons.
The user has the choice to select whether s/he wants to read the data from a
file or manually enter the data. Include a command button that when clicked-
on performs these actions:
i. If the user chose to read the data from a file, a textbox should appear
where the user types in the name of the file.
ii. If the user chose to enter the data manually, two tables appear with
dimensions 2 by 6 where the user types in the expected exposures (for
both magazines and all periods) and corresponding cost of advertising.
b. Insert a textboxes where the user can type in budget allocated to the
advertisement campaign.
c. Insert a command button that when clicked-on submits the problem data,
uses excel solver to solve the corresponding integer programming problem
and opens form number 3 described below.
3. Insert two frames in this form.
a. The first frame named Reports has a number of option buttons that enable
the user to choose to open one of the summary reports described below.
b. The second frame named Sensitivity Analysis includes: a checkbox that
allows the user to choose whether s/he wants to perform a sensitivity analysis
with respect to the budget assigned to this project; two combo boxes that
allow the user to choose a magazine and a time period. For example, the
user might be interested to know the sensitivity of the final solution with
respect to the estimated response from advertising during period i in
magazine j (j = A, B). Insert a command button that when clicked-on performs
the sensitivity analysis with respect to the selected parameter and prompts
the user to open the corresponding report.
Reports
References
Winston L.W. Operations Research: Applications and Algorithms. Duxbury Press, 3rd
Ed., 1994.
Top
Description
The aim of this project is to build a decision support system that would enable a
company to identify potential projects to invest. Below we present an integer
programming model to solve the capital budgeting problem.
Note that Ri presents the net present value of the cash inflows and outflows for project i.
xi is a binary variable that takes the value 1 if project i is selected and 0 otherwise.
I
max : Ri xi
i =1
Subject to :
I
Fit xi Bt t = 1,..., T , (1)
i =1
xi 1 j = 1,..., J , (2)
i M j
The objective is to maximize the net return from the investment. The first set of
constraints shows that the total amount invested in each period should not exceed the
budget available. The second set of constraints shows that at most one of the projects
that are mutually exclusive should be selected. The third and fourth set of constraints
shows that if one of the projects is selected, all its mandatory inclusive projects should
as well be selected. The fifth set of constraints is the integrality constraints.
Excel Spreadsheets
1. Create a spreadsheet that presents expected cash flows from each investment
during the planning horizon.
2. Create a spreadsheet that presents the budget available for investment in each
time period.
3. Create a spreadsheet that presents the funds required by each investment during
the planning horizon.
User Interface
1. Welcome form.
2. Create a form that includes the following items:
a. Insert a frame called Problem Data. The frame includes two option buttons.
The user has the choice to select whether s/he wants to read the data from a
file or manually enter the data. Include a command button that when clicked-
on performs these actions:
i. If the user chose to read the data from a file, a textbox should appear
where the user types in the name of the file.
ii. If the user chose to enter the data manually, two textboxes appear
where the user types in the total number of projects and the length of
the planning horizon. Once this information is submitted three tables
appear. The first table (with dimensions T by I) enables the user to type-
in the expected cash flows from each investment during the planning
horizon. The second table (with dimensions T by 1) enables the user to
type-in the budget available for investment in each time period. The
third table (with dimensions T by I) enables the user to type in the funds
required by each investment in each period.
b. Insert a frame named Select the Mutually Exclusive Projects. The frame
includes a list box and a command button. The list box presents all the
available projects. The user should be able to select at least one project at a
time from the list. The user clicks the command button to submit the mutually
exclusive (selected) projects. The user can select and submit more than once
if there are more than one set of mutually exclusive projects.
c. Insert a frame named Select the Mandatory Inclusive Projects. The frame
includes a list box and a command button. The list box presents all the
available projects. The user should be able to select at least one project at a
time from the list. The user clicks the command button to submit the
mandatory inclusive (selected) projects.
d. Insert a command button that when clicked-on submits the problem data,
uses excel solver to solve the corresponding integer programming problem
and opens form number 3 described below.
3. Insert two frames in this form.
a. The first frame named Reports has a number of option buttons that enable
the user to choose to open one of the summary reports described below.
b. The second frame named Sensitivity Analysis. Include the following items in
the frame:
i. Insert two textbox where the user can type in a period of time (t) and a
project name (project i).
ii. Insert option buttons that allow the user to choose whether s/he wants to
perform a sensitivity analysis with respect to: net return of a particular
project i, the budget available in a time period t, or investment required by
project i in period t.
iii. Insert a command button that when clicked-on performs the sensitivity
analysis with respect to the selected parameter and prompts the user to
open the corresponding report.
Reports
1. Report the projects that should be selected. For each of the selected projects
present the investments required and the net return.
2. Report the optimal return from the investments.
3. Report the results from the sensitivity analysis.
References
Winston L.W. Operations Research: Applications and Algorithms. Duxbury Press, 3rd
Ed., 1994.
Top
In this project we present the shortest path problem, give a Lagrangean relaxation based
algorithm, and finally build a decision support system that would enable the user to solve
a constraint shortest path problem using Lagrangean relaxation method. To learn more
about the constraint shortest path problem and Lagrangean relaxation method, we refer
the students to Ahuja et al. (1993).
The constraint shortest path problem (P) is a shortest path problem with additional
capacity constraints (constraints (2)). Below we present a formulation of this problem.
Where, cij is the cost of using arc (i, j ) A , n is the total number of nodes of the network,
T is the capacity of the shortest path and tij is capacity usage coefficient for arc (i, j ) A .
The objective is to find the shortest path between nodes 1 and n of the network that
does not violate the capacity constraints.
min : ij ij ij ij = (cij + tij ) xij T
c x + t x T ( LR ( ))
(i , j ) A (i, j ) A (i, j ) A
Subject to :
(1) and (3)
The objective function value of (LR()) depends on the value of the multipliers . For any
value of , (LR()) is a lower bound for P ( LR ( ) P * ). We are interested to identify
the highest lower bound for P*. We do that identifying the multiplier that maximizes the
Lagrangean relaxation problem.
LR * = max LR ( ).
For any value of , LR ( ) LR * P * . To solve problem LR* we use the following
approach. Let 0 be any initial choice of the Lagrangean multipliers. We determine the
subsequent values k for k = 1,2,, of the Lagrangean multipliers as follows:
k +1 = k + k tij xij T . (4)
(i, j ) A
Where,
k =
[
k UB LR ( k ) ]. (5)
t ij xij T
(i , j ) A
UB is an upper bound on the optimal objective function value P*. Practitioners usually
choose k by starting with k = 2 and then reducing k by a factor of 2 whenever the best
Lagrangean objective function value found so far has failed to increase in a specific
number of iterations.
Step 0
1. Set k = 0; k = 0; k = 2;
- Find a feasible solution for problem P(1). Set UB equal to the corresponding objective
function value.
Step 1
- Solve problem LR(k)(2).
- Keep the best lower bound found so far.
- Check if the solution to LR(k) satisfies constraints (3) of P. If it does, this is a feasible
solution to problem P as well. Calculate the corresponding objective function value.
- Keep the best upper bound found so far.
- If the best lower bound found is equal to the best upper bound, Stop. We have solved
the capacitated shortest path problem.
Step 2
- If the solution to LR(k) has not improved in the last g iterations (for example, g = 5),
reduce k by a factor of 2.
- Calculate k.
- Calculate k+1using (4).
- k = k +1.
- If the solution to LR(k) has not improved in the last G iterations (for example, G = 10),
Stop. Report the best lower bound (solution of LR(k)) and upper bound (solution of P)
found so far.
- Else go to Step 1.
(1) To find a feasible solution for problem P, one can follow a simple approach. Modify
problem (P): replace cij with tij in the objective function and remove constraints (3). The
modified problem is an un-capacitated shortest path problem. If the objective function
value of the modified problem is less than or equal to T, the solution found is a feasible
solution to problem P, otherwise problem P is infeasible. One can use Dijkstras
algorithm to solve the shortest path problem. For a description of this algorithm we refer
the students to Ahuja et al. (1993)
(2) Problem LR(k) is the classical shortest path problem. One can use Dijkstras
algorithm to solve this problem.
Excel Spreadsheets
1. Create a spreadsheet that keeps information about the arcs of the network. For
each arc identify its start and end node.
2. Create a spreadsheet that keeps information about cost and capacity of each arc
of the network.
User Interface
Design a logo for this project. Insert this logo in the forms created above. Choose a
background color. Choose a color for the titles. Include in the forms created: record
navigation command buttons, record operations command buttons, form operations
command buttons as needed.
Reports
References
Ahuja, R.K., Magnanti, T.L., Orlin, J.B. Network Flows: Theory, Algorithms and
Applications. Prentice Hall, 1993.
Top
Mangers deal with a number of decisions about processes, capacity, location, inventory
etc. The process of making a decision is complicated in particular because of the
uncertainties in the future. This implies that the outcome associated with different
alternatives is on doubt.
The aim of this project is to build a decision support system that enables the user to
make a decision under uncertainty. We describe a systematic approach that can be
used by managers in the process of decision making. To learn more about decision
making under uncertainty we refer the students to Krajewski and Ritzman (2002).
Solution approach
In case that the managers can list the possible events, but cannot estimate the
corresponding probabilities (Step 4) because of luck of experience or difficulties in
collecting the data, the manager can use one of the following decision rules.
Maximin: Choose the alternative that is the best of the worst. This rule is for the
pessimist who anticipates the worst case for each alternative.
Maximax: Choose the alternative that is the best of the best. This rule is for the
optimist who anticipates the best case for each alternative.
Laplace: Choose the alternative with the best weighted payoff. To find the weighted
payoff, give equal importance to each event. For example, if there are n
events, the probability assigned to each event is 1/n. This rule is for the
realist.
Minimax: Choose the alternative that gives the best worst regret. Calculate a table of
regrets in which the rows represent the alternatives and the columns
represent the events. A regret is the difference between a given payoff and
the best payoff in the same column. For an event, it shows how much is lost
by picking an alternative to the one that is best for this event. The regret can
be lost profit or increase cost, depending on the situation.
User Interface
Design a logo for this project. Insert this logo in the forms created above. Choose a
background color. Choose a color for the titles. Include in the forms created: record
navigation command buttons, record operations command buttons, form operations
command buttons as needed.
Reports
References
Top
Description
The economic lot-sizing problem is defined as follows: Given the demand, unit
production cost, unit inventory holding cost for a commodity; given production capacities
and set-up costs for each time period over a finite, discrete-time horizon; find a
production schedule that would satisfy demand at minimum cost. This model assumes a
fixed and a variable component of production costs.
Let T be the length of the planning horizon, and ct, ht, st, bt denote the unit production
cost, the unit inventory holding cost, the setup cost, and the demand in period t (t =
1,,T), respectively. The following are the decision variables for this problem:
The objective is to minimize the total production and inventory costs during the planning
horizon. The first set of constraints is the flow conservation constraints. The second set
of constraints shows that if production occurs in period t, the total amount produced
should be at most equal to the demand for periods t to T. Constraint (3) shows that the
inventory level in the end of the planning horizon should be zero. Constraints (4) are the
integrality constraints and constraints (5) are the non-negativity constraints.
The aim of this project is to build a decision support system that would enable the user
to build a production plan with the help of the solution found from solving the economic
lot-sizing problem. Below we present a dynamic programming algorithm to solve the
economic lot-sizing problem. This algorithm solves the problem in O(T2). The special
structure of the optimal solutions to economic lot-sizing problem explains why the
dynamic programming algorithm works. However, in this project we simply describe the
algorithm. To learn more about the economic lot-sizing problem and the dynamic
programming algorithm as well as to understand why this algorithm works we refer the
students Nemhauser and Wolsy (1999) and Wagner and Whitin (1958).
Let v(t) be the minimum cost of a solution for periods 1,,t. If t is the last period in
which production occurs, then q b t and I 1 = 0 . This implies that the problem can
be divided into two smaller sub-problems and the least cost solution v ( 1) is optimal
for the first sub-problem (periods 1,, -1). This leads to the following recursive function:
t
v(t ) = min v( 1) + s + c b t + h j b j +1, t ,
1 t j =
with v(0) = 0.
Calculating v(t) for t = 1,,T leads to the optimal solution v(T) of the economic lot sizing
problem.
Excel Spreadsheets
1. Create a spreadsheet that present the following data: ct, ht, st, bt for t = 1,,T.
User Interface
Design a logo for this project. Insert this logo in the forms created above. Choose a
background color. Choose a color for the titles. Include in the forms created: record
navigation command buttons, record operations command buttons, form operations
command buttons as needed.
Reports
1. Report the following results from solving the economic lot-sizing problem:
a. The optimal production quantity in each period of the planning horizon.
b. The optimal inventory level in each period of the planning horizon.
c. The optimal total inventory holding costs.
d. The optimal total production costs.
e. The optimal total set-up costs.
f. The optimal total costs.
2. Report the results from the sensitivity analysis.
3. Graph the inventory level for each period of the planning horizon.
References
Nemhauser L.G., Wolsey A.L. Integer and Combinatorial Optimization. John Wiley &
Sons, 1999.
Wagner, H.M, Whitin, T.M. Dynamic Version of the Economic Lot Size Model.
Management Science, Volume 5, pg. 89-96, 1958.
Top
The term knapsack problem invokes the image of the backpacker who is constrained by
a fixed-size knapsack and so must fill it only with the most useful items. The typical
formulation in practice is the 0/1 knapsack problem, where each item must be put
entirely in the knapsack or not included at all. It is this 0/1 property that makes the
knapsack problem difficult. Suppose the backpacker must choose among p different
items. Each item i (i = 1,,p) has a weight wi (in pounds) and a utility ui to the
backpacker. The objective is to maximize the utility of the backpackers trip subject to the
weight limitations that she can carry no more than W pounds. The following is an integer
formulation of this problem.
p
max : ui xi
i =1
Subject to :
p
wi xi W
i =1
xi {0,1} for all i.
The aim of this project is to build a decision support system that enables the user to
solve the knapsack problem. We describe a simple dynamic programming algorithm to
solve this problem. We do not go into the details about why this algorithm works. To
learn more about the knapsack problem and the dynamic programming algorithm we
refer the students to Ahuja et al. (1993) and Winston (1994).
Construct table D with dimensions p by W. The elements of this table d(i,j) present the
maximum utility of the selected items if we restrict our selection to the items 1 through i
and impose a weight restriction of j. Our objective is to determine d(p,W).
We can determine d(p,W) by calculating d(i,j) for increasing values of i and, for a fixed
value of i, for increasing values of j. The following is the recursive relationship that we
use for this purpose:
d (i, j ) = max{d (i 1, j ), ui + d (i 1, j wi )} .
When carrying out these computations, record the decision corresponding to each d(i,j)
(i.e. whether xi = 0 or xi = 1). These decisions allow us to construct the solution for any
d(i,j), including the desired solution for d(p,W).
Excel Spreadsheets
1. Create a spreadsheet that presents the weight (wi) and utility (ui) of item i for i =
1,,p.
User Interface
Design a logo for this project. Insert this logo in the forms created above. Choose a
background color. Choose a color for the titles. Include in the forms created: record
navigation command buttons, record operations command buttons, form operations
command buttons as needed.
Reports
References
Ahuja, R.K., Magnanti, T.L., Orlin, J.B. Network Flows: Theory, Algorithms and
Applications. Prentice Hall, 1993.
Winston L.W. Operations Research: Applications and Algorithms. Duxbury Press, 3rd
Ed., 1994.
Top
XYZ Inc. has allocated a large budget to providing food for children attending primary
and middle schools in Chile. The company awards contracts to eligible firms for
providing this service. Lately, the company has not been very successful in assigning
contracts to quality bidders. The schools have been complaining about the quality of
food served.
The aim of this project is to build a decision support system that will help XYZ Inc.
improve the quality of the companies chosen to serve the schools. For the purpose of
this project we provide a mathematical model to solve the problem of assigning contracts
to bidders.
For modeling purposes, we divide the country into a number of geographical areas that
in turn are divided into territorial units (TUs). Firms bid to get contracts for a single or a
combination of TUs what allows them to exploit economies of scale.
The following are some business rules that need to be followed in the order presented.
O(k,r) is the set of bids presented by firm k that include TUs belonging to region
r (rR),
M(k) is the maximum number of TUs acceptable for firm k. This limit depends
on the size of the firm.
min : c j ( f , d )we( j ) X j
j J
Subject to :
X j 1 i I , (1)
j :iu ( j )
u ( j ) X j M (k ) k K , (2)
j :e( j ) = k
Ykr X j 0 k K ; r R, (3)
j : jO ( k , r )
The objective is to minimize the weighted cost of the accepted bids. The cost of a bid is
weighted based on the performance rating of the bidder. The first set of constraints
shows that to each TU will be assigned a company (the winner of a bid) to offer food
services for their schools. The second set of constraints show that the number of TUs
assigned to a firm is limited. The third set of constraints shows that firm k will be
assigned to serve TUs in region r (Ykr=1) only if its bid is accepted (Xj = 1). The fourth set
of constraints shows that in case firm k is assigned to serve region r (Ykr=1), the total
number of bids that are accepted (that belong to firm k and serve region r) will be at
most equal to the total number of bids submitted by firm k for region r. The fifth set of
constraints shows that if firm k won at least one bid (Zk=1), there will be at least one
region r assigned to this firm. The sixth set of constraints shows that if firm k won at least
one bid (Zk=1), the total number of regions assigned to that firm will be bounded by the
total number of regions to be served. The last set of constraints ia the integrality
constraints.
Excel Spreadsheets:
User Interface
c. Insert a command button that when clicked-on lists the name of the firms
qualified and the weight assigned by XYZ Inc. based the performance
criteria. Sort the information in a descending order of the performance
weight.
d. Insert a command button titled See an Example. When the user clicks-
on this button a frame opens that includes the following:
i. The statement of an example.
ii. The mathematical formulation of the corresponding auction
bidding mathematical model.
iii. The optimal assignment of regions to firms.
e. Insert a command button that when clicked-on uses excel to solve the
mathematical model for the auction bidding problem and opens form
number 3 described below.
3. Create a form that includes two frames one titled Reports and the other titled
Sensitivity Analysis. The first frame includes a number of option buttons that
enable the user to choose to open the reports described below. The second
frame enables the user to choose a parameter to perform a sensitivity analysis.
For example, the user might be interested to know the sensitivity of the optimal
assignment to the maximum number of TUs acceptable for a firm, etc.
Reports
References
Epstein, R., Henrquez, L., Cataln, J., Weintraub, Y.G., Martnez, C. A Combinatorial
Auction Improves School Meals in Chile. Interfaces, Vol. 32, Nr. 6, 2002.
Top
The traveling salesman problem is the most famous problem in the area of network and
combinatorial optimization. This problem is easy to state: Starting from his home base,
node 1, a salesman wishes to visit each of several cities represented by nodes 2,,n,
exactly once and return home, doing so at the lowest travel cost (see Ahuja et al. 1993).
The simplicity of this problem and yet its complexity has attracted the attention of many
researchers over a long period of time. The first mathematical model related to traveling
salesman problem was studied in the 1800s. In particular, researchers have paid
attention to this problem because it is a generic core model that captures the
combinatorial essence of most routing problems.
The purpose of this project is to create a decision support system that enables the user
to solve the traveling salesman problem. We give a mixed integer programming
formulation of this problem and describe two heuristics that can be used to find feasible
solutions. To learn more about the traveling salesman problem we refer the students to
Ahuja et al. (1993) and Winston (1994).
The objective is to minimize the total travel cost. The first and second set of constraints
shows that each city is visited exactly once. The salesman will enter and leave a city
exactly once. The third set of constraints makes sure that the network is connected and
therefore each city will be visited. The fourth set of constraints is the sub-tour elimination
constraints. The fifth set of constraints is the non-negativity constraints and the sixth set
of constraints is the integrality constraints.
1. Nearest Neighbor: Start at an arbitrary node i1 and construct a path i1, i2,, ij, ij+1,
( { })
, in, where i j +1 = arg min ci j k : k V \ {i1 , i2 ,..., i j } , with ties broken arbitrary.
Complete the path to a tour by adding arc (i1, in).
2. Nearest Insertion: Given a tour T and a node iV \ T, let d (i, T ) = min cij and let
jT
( { })
i* = arg(min{d (i, T ) : i V \ T }) . Suppose j * = arg min ci * j : j T . Thus i* is the
* *
closest node to T, and j is the node in T that is closest to i . Now construct a sub-
tour on T {i *} by inserting i* between j* and one of its neighbors in T; that is, if
(j1,j*) and (j2,j*) are arcs of T and ci * j ci * j , insert i* between j1 and j*. This
1 2
process terminates with a tour, but again we cannot guarantee that it will be a
good tour.
To learn more about the nearest neighbor and nearest intersection heuristics as well as
other heuristic solution approaches for the traveling salesman problem we refer the
students to Nemhauser and Wolsey (1999).
Excel Spreadsheets
User Interface
i. If the user chose to read the data from a file, a textbox should appear
where the user types in the name of the file.
ii. If the user chose to enter the data manually, two textboxes appear
where the user can type-in the total number of nodes (n) and the total
number of arcs (m) of the network. Upon submission of this
information, two tables appear. The first table, with dimensions n by
m, enables the user to enter the node-arc incidence matrix. The
second table, with dimensions 1 by m enables the user to type-in the
cost of traveling in a particular arc.
b. Insert a command button titled See an Example. When the user clicks-on
this button a frame opens that includes the following:
i. The problem statement of the example.
ii. A graphical representation of the corresponding network.
iii. The mixed integer formulation of the problem.
iv. The solution from the nearest neighbor and nearest intersection
heuristics.
v. A graphical representation of the solution found using the heuristic
approaches.
vi. The optimal solution to the problem.
vii. A graphical representation of the optimal solution.
c. Insert a frame that has three option buttons. The options buttons enable the
user to choose whether s/he wants to use excel to solve the problem
optimally, or use the nearest neighbor or the nearest intersection heuristics.
Insert a command button that when clicked-on solves the problem using the
method chosen by the user and opens form number 3 described below.
d. Animate the heuristic approaches.
3. Create a form that includes two frames. The first frame is titled Reports.
Includes a number of option buttons that enable the user to choose to open the
reports described below. The second frame titled Sensitivity Analysis includes a
number of option buttons that enables the user to choose a parameter for the
sensitivity analysis. For example the user might be interested to know the
sensitivity of the solution to changes in the cost of traveling in a particular arc.
Design a logo for this project. Insert this logo in the forms created above. Choose a
background color. Choose a color for the titles. Include in the forms created: record
navigation command buttons, record operations command buttons, form operations
command buttons as needed.
Reports
References
Ahuja, R.K., Magnanti, T.L., Orlin, J.B. Network Flows: Theory, Algorithms and
Applications. Prentice Hall, 1993.
Nemhauser, G.L., Wolsey, L.A. Integer and Combinatorial Optimization. John Wiley &
Sons, 1999.
Winston L.W. Operations Research: Applications and Algorithms. Duxbury Press, 3rd
Ed., 1994.
Top
The vehicle routing problem states: Given: (a) a fleet of K capacitated vehicles
domiciled at a common depot, say node 1; (b) a set of customer sites j = 1,,n each
with a prescribed demand dj; and (c) a cost cij of traveling from location i to j; what is the
minimum cost set of routes for delivering (picking up) the goods to the customer sites?
We assume that the fleet of vehicles is homogeneous and that each vehicle has a
capacity of u units. (Ahuja et al. 1993).
The aim of this project is to build a decision support system that would enable the
companies to schedule the deliveries to customers by solving the corresponding vehicle
routing problem. Below we present an integer programming formulation of this problem.
To learn more about the vehicle routing problem we refer the students to Ahuja et al.
(1993).
Integer Formulation
The objective is to minimize the total cost of delivering the products to customers. The
first set of constraints shows that there is at most one vehicle traveling from site i to site j
(for all (i,j)A). The second and third set of constraints shows that each customer site is
visited exactly once. A vehicle will enter and leave a city exactly once. The fourth and
fifth set of constraints shows that there will be exactly K vehicle leaving the depot and
exactly K vehicles entering the depot. The sixth set of constraints shows that vehicle
capacity should not be violated. The seventh set of constraints is the sub-tour elimination
constraints. The eighth set of constraints is the integrality constraints.
K
min : cij xijk
k =1(i , j ) A
Subject to :
K
xijk = yij (i, j ) A, (1)
k =1
n
yij = 1 i = 1,..., n, (2)
j =1
n
yij = 1 j = 1,..., n, (3)
i =1
n
y1 j = K (4)
j =1
n
yi1 = K (5)
i =1
n n
di xijk u k = 1,..., K , (6)
i = 2 j =1
yij Q 1 Q {2,3,..., n} (7 )
iQ jQ
Nearest Neighbor:
Let V* denote the set of customer sites that have not been visited yet by a vehicle.
1. Start at the depot (node 1) construct a path consisting of nodes 1, i1, ,ij, 1
( { })
where i j = arg min ci j 1 k : k V * ; u d i1 + d i 2 + ... + d i j , and any other
node s V * is such that u < d i1 + d i 2 + ... + d i j + d s .
2. Repeat step 1 until all sites are visited.
The total number of paths constructed presents the total number of vehicles needed to
deliver the products to customers.
To learn more about the nearest neighbor heuristic as well as other heuristic solution
approaches for the traveling salesman problem we refer the students to Chopra and
Meindl (2001).
Excel Spreadsheets
User Interface
Design a logo for this project. Insert this logo in the forms created above. Choose a
background color. Choose a color for the titles. Include in the forms created: record
Reports
References
Ahuja, R.K., Magnanti, T.L., Orlin, J.B. Network Flows: Theory, Algorithms and
Applications. Prentice Hall, 1993.
Chopra, S., Meindl, P. Supply Chain Management: Strategy, Planning, and Operation.
Prentice Hall, 2001.
Top
The aim of this project is to build a simple board game that is called Dots. Developing
this game will enhance students ability to program using Visual Basic for Excel. The
game is played with two players or a player and a computer. The student should
implement the algorithms described below to generate computer moves when the game
is played between a player and the computer. Below we describe how to play the game.
The playing board for this game consists of an equal number of vertical and horizontal
arrays of dots. Players take turns in playing the game. In his/her turn the player joins two
horizontally or vertically adjacent dots by a line. When the player creates a box by
closing the 4th side of it, s/he gets one point, the corresponding box is filled-in with
his/her color and the player gets another turn to play. If the same move completes two
boxes, the player gets two points, both boxes are filled-in with his/her color, but the
player takes only one extra turn. The game ends when all boxes have been colored. The
player that closed the maximum number of boxes wins.
The following are a heuristic approach that the students can use to model the
movements of the computer when this game is played between a player and a
computer. Note that mathematical approaches have been used to model the movements
of the computer when this game is played between a computer and a player. The branch
of algebra and number theory called Combinatorial Game Theory provides relevant
intelligence to program the dots board game. If the students are interested in
programming this game perfectly, so that the computer almost always wins, we refer
them to Berlekamp (2000).
Heuristic Approach
In order to program the computers moves while playing this game, follow these rules:
Among all the possible legal moves for the computer select the one that: will allow the
computer to complete the fourth side of a box (if possible) and/or will not allow the
opponent to complete the fourth side of a box. If such a move is not possible, randomly
choose to connect two dots. In every move the program should check whether a box
was created. If this is the case, the box is colored and the player has another turn.
User Interface
b. Insert a combo box that enables the player to pick a color for the board.
c. Insert a combo box that enables the player to pick his/her color. This color
will be used to fill-in the box when the player successfully closes a box.
d. Insert a combo box that enables the player to choose whether the game will
be played between the player and the computer or between two players.
Upon submission of this information, textboxes appear for the player(s) to
type in the name(s). In the case that the player chose to play with the
computer, a combo-box appears that enables the players to choose the
difficulty level of the game: beginner or advanced level. For the beginner
level use the heuristic described above to model computers moves. For the
advanced level, model computers moves using the approach described at
Berlekamp (2000).
e. Insert a combo box that enables the players to choose who will start the
game.
f. Insert textboxes that present: the total number of scores for each player
and the name of the player that should play next.
g. Display a message box that presents the name of the winner and the total
number of points when the game is over.
h. Insert a command button that enables the player to choose whether s/he
wants to replay the game or to close the program.
Reports
1. Report the following information about the games played so far: the name of the
players, the name of the winner, and the total number of points for each player.
References
2. http://www.well.com/user/argv/java/dots.html
Top