INEN 420 Spring 2005: Operations Research I Team Semester Project

advertisement
INEN 420 Spring 2005: Operations Research I
Instructor: Dr. Lewis Ntaimo
Date: March 10, 2005.
Team Semester Project
PART A (100 points)
The objective of the course is to give you (the student) experience in modeling, solving
and analyzing problems using linear programming. As you have seen, I put strong
emphasis on theory, applications, and computer usage. By the end of the course I expect
you to have developed the skills to consider real-world problems and determine whether
or not linear programming is an appropriate modeling framework; develop linear
programming models that consider the key elements of the real world problem; solve the
models for their optimal solutions; interpret the models' solutions and infer solutions to
the real-world problems.
You will model and solve three LP problems:
Problem 1: Multi-Period Inventory Problem
Textbook page 122, Problem 54.
Problem 2: Production Process Model
Textbook page 124, Problem 62.
Problem 3: As a team, consider an interesting real-life problem where linear
programming can be applied. Derive your assumptions and develop an LP formulation
for your problem and then generate data (A, b, c) for the problem. You may use any
available data from the literature, web, etc (need references), or you may randomly
generate representative data. I need a one-page semester project proposal by March
31 (for approval).
Minimum Requirements (90 points): Formulate the three problems and use one of the
professional optimization software (CPLEX, LINDO, LINGO, or EXCEL Solver) to
solve your problem and perform sensitivity analysis. Report your optimal solutions and
sensitivity analysis.
For Problem 3, your LP problem formulation should have at least 20 decision variables
and at least 20 constraints. Extra points will be given for more realistic formulations and
thorough interpretation of the model’s solution(s) and inference of solution(s) to the realworld problem.
Project Report: The group must turn in a detailed report with a minimum of 10 pages
(Font: 12pt Times New Roman or Arial; line spacing: 1.5). You must choose a “catchy”
title for your project based on Problem 3. A sample of the first two pages of your report is
given on the next page. The report must have the first page signed by all the team
members. The report should cover at the least the material given on the sample
1
CONTENT page. Finally, email me a critique of your group member and their
participation in the project.
Optional – Extra Credit: This may substitute for your lowest score on an
individual or group quiz
PART B (50 points - Simplex Algorithm Implementation)
Objective: Your objective is to implement a function in Matlab to solve LPs in standard
form using the simplex method. You will use this function to solve a given number of LP
problems in Part B of the project. You may start with a “naïve” implementation of the
simplex algorithm (see posting) as described in class and later modify it into the Revised
Simplex algorithm (see class textbook) to get extra points. (Implementations in C/C++
and Java are acceptable but not recommended).
Minimum Requirements (90 points): The minimum requirement is to implement a
Matlab function to solve an LP in standard form using the “naïve” implementation of the
simplex algorithm. The function prototype should be the following:
[os, ds, ov, info, cpu] = simplex(A, b, c)
where os is the optimal solution, ov is the optimal value, ds is the corresponding dual
solution, info is an integer (-1 for infeasible, 0 for optimal, and 1 for unbounded), and
cpu is the CPU time for the function. The matrix A is the LP’s constraint matrix, b is an
array of the RHS and c is an array of the objective function coefficients. The function
should also use Bland’s rule to prevent cycling. The tolerance for the function should be
1.e-9.
Note: A, b, c are the LP data:
Max cTx
s.t. Ax = b
x >= 0
You can create your own test instances to test/debug your code or you may use the
example(s) given in class. The codes should be written in .m files. You may look at Help
and the Matlab Primer on some useful MATLAB functions like "\", size() and "./". Also
you may consult your textbook for the revised simplex algorithm.
Deliverables: The team must email me the Matlab by May 5. Include in your project
research report your solutions to the LPs in Part A using your implemented code.
WARNING: There is a lot of Matlab,C/C++ and Java code of the simplex method on the
worldwide web. Please do not fall into the temptation of copying someone else’s code (it
is plagiarism). Remember you are bound by the code of honor: “On my honor, as an
Aggie, I have neither given nor received unauthorized aid on this academic work.”
2
INEN 420 TEAM SEMESTER PROJECT REPORT
Instructor: Dr. Lewis Ntaimo
Date: March 10, 2005.
Due: May 5, 2005.
You cannot confer with any student who is not part of your group on this
project. Please document all sources of information that you have included
in your project report.
Team Name:_______________________________
Project Title:__________________________________________________
__________________________________________________
__________________________________________________
Members: _________________________________
_________________________________
_________________________________
“On my honor, as an Aggie, I have neither given nor received unauthorized aid
on this academic work.”
__________________________
__________________________
___________________________
Signature of Each Group Member
Note: Signatures are required in order for your project to be considered for grading.
3
CONTENTS
1.0 Executive Summary…………………………………………………………page #
Give a summary of your major findings and conclusions.
2.0 Problem Description…………………………………………………………page #
Give a description of the problem, assumptions, problem data, decision variables, objective
function and then state the LP formulation.
2.1 Problem 1 (State the name of the problem) ……………………………page #
2.2 Problem 2 (State the name of the problem) ……………………………page #
2.3 Problem 3 (State the name of the problem) ……………………………page #
3.0 Computational Results………………………………………………………page #
For each problem state the optimal solution obtained by your code as well as the running times.
Then state the optimal solution obtained by your professional optimization software of choice
(CPLEX, LINDO, etc), sensitivity report, and give a detailed interpretation of the results.
3.1 Problem 1 (State the name of the problem) ……………………………page #
3.2 Problem 2 (State the name of the problem) ……………………………page #
3.3 Problem 3 (State the name of the problem) ……………………………page #
4.0 Simplex Algorithm Implementation (Optional)………………………….…page #
State the detailed steps of your algorithm and computational results.
5.0 Conclusions and Recommendations ………………………………………page #
Give a summary/conclusion of your findings and recommendations.
6.0 References ………………………………………page #
You MUST references all sources of information that is not your own! Each report must use the
class textbook reference for Problems 1 and 2:
Winston, W.L. and M. Venkataramanan, Introduction to Mathematical Programming,
4th Edition, Duxbury Press, Belmont, CA, 2003.
7.0 Appendix – Simplex Algorithm Code ………………………………………page #
4
Download