Project LPR381 (Programming)
Project LPR381 (Programming)
Assessment: Project
Total: 100 Marks
Introduction (Programming)
Operations research is a scientific approach to decision making that seeks to best design and
operate a system, under conditions requiring the allocation of scarce resources. The scientific
approach to decision making usually involves the use of one or more mathematical models.
If, whenever decision variables appear in the objective function and in the constraints of an
optimisation model, the decision variables are always multiplied by constants and added together,
such a model is a linear model.
If one or more decision variables must be integer, then we say that an optimisation model is a
discrete model or an integer model.
Outline
Tip: do the assignment first.
For the project, create a program that solves Linear Programming and Integer Programming Models
and then analyses how the changes in an LP’s parameters change the optimal solution.
Supply the source code as a visual studio project. Any .NET programming language may be used. The
project should build an executable (solve.exe) that is menu driven with the following:
The program should be able to accept an input text file with the mathematical model and export all
results to an output text file.
Page 1 of 4
• The relation used in the constraint, with =,<=, or >=, to indicate respectively, an inequality to
constraint the constaint right-hand-side.
• The right-hand-side of the constraint.
Sign Restrictions
• Sign restriction to be below all the constraints, seperated by a space, +, -, urs, int, bin, in the
same order as in the specification of the objective function in line 1.
Note: The Linear Programming Model or the Integer Programming Model should be entered into the
file. Not the canonical forms of the different algorithms respectivly or the Relaxed Linear
Programming Model.
Tip: Use the above IP in the video and then play around with the values to show all criteria.
Processing
Your program should provide you with the option to select which algorithm to use in order to solve
the programming model.
Your program should provide you with options to perform sensitivy analysis operations after the
programming model has been solved.
Algorithms to be available
• Primal Simplex Algorithm and Revised Primal Simplex Algorithm.
• Branch and Bound Simplex Algorithm or Revised Branch and Bound Simplex Algorithm.
• Cutting Plane Algorithm or Revised Cutting Plane Algorithm.
• Branch and Bound Knapsack algorithm.
Algorithm Criteria
• Display the Canonical Form and solve using the Primal Simplex Algorithm. Display all tableua
iterations.
• Display the Canonical Form and solve using the Revised Primal Simplex Algorithm. Display all
Product Form and Price Out iterations.
• Display the Canonical Form and solve using the Branch & Bound Simplex Algorithm.
o Backtracking should be implemented.
o Program should create all possible sub-problems to branch on.
o Program should fathom all possible nodes of sub-problems.
o Display all the table iterations of the above mentioned sub-problems.
o Best candidate must be displayed.
• Display the Canonical Form and solve using the Cutting Plane Algorithm. Display all Product Form
and Price Out iterations.
• Solve using Branch and Bound Knapsack algorithm.
Page 2 of 4
Subject: Linear Programming 381
Assessment: Project
Total: 100 Marks
Bonus Criteria
The maximum mark is 100, but if you get less, this bonus mark can boost your final mark.
The program should have the ability to solve any non-linear problem like f(x)=x2 with any algorithm,
but you need to explain the code for this part. The rest of this assignment, you only need to show
how everything works that meets all the criteria.
Video submission
You need to submit a video or link to a video and files necessary to run your program. Marks will
only be awarded for the video as we are your client and will not be marking your code.
Page 3 of 4
No time limit on the video, but make sure you show all the criteria.
Mark Allocation
Criteria Weight
Content
Outline 2
Input File 3
Output File 2
Primal Simplex Algorithm 4
Revised Primal Simplex Algorithm 4
Branch & Bound Simplex Algorithm or Revised Branch & Bound Simplex Algorithm 20
Branch & Bound Knapsack Algorithm 16
Cutting Plane Algorithm or Revised Cutting Plane Algorithm 14
Sensitivity Analysis 25
Error Handling (e.g. cannot solve with simplex chosen and special case 5
requirements)
Interface presentation 5
Total 100
Non-linear problem solved 10
Additional Information
• All work must be done on your own.
• Belgium Campus have software that can scan for plagiarism and a student caught doing this
will get 0 for this assignment.
• Late assignments will not be accepted; missing the deadline is an automatic 0.
Page 4 of 4