/OR1-Pro

Primary LanguagePython

OR1-Pro

Question 1: The goal is to provide a pedagogical implementation of the revised simplex method for solving linear programs. The term pedagogical is used to refer to following characteristics for your code: it should be written to be readable with comments and descriptive variable names, each matrix used during the computation steps should being explicitly named, and the data should be copied as needed without worrying about efficiency. Also unlike actual re-vised simplex implementations, the calculations of the inverse matrix, and matrix multiplications should be done from scratch each iteration. More specifically the input to this algorithm should be in the form of .csv files. The input will consist of the following matrices/vectors A, b, c specifying the problem as typically. During each iteration you should have explicit representations (that is separate matrices/vectors as needed) B, N, B, N, x∗B, zN∗ , B−1, ej, ei, ∆XB, and ∆ZN as well as the scalars s, t. Your code should output the final optimal solution and associated value of the objective function.

Question 2: In this question I had to extend and thoroughly test the code I wrote in question 1. In terms of extensions I need to implement the revised dual simplex method (similarly using matrices and directly computing the inverse).

Question 3: The goal is to produce beautiful printed output of all the stages of the algorithm. For only this question I could impose some reasonable limits to the number of variables/constraints so that the output fits on the page. For the output I had to use https://en.wikipedia.org/ wiki/LaTeX which is a document preparation system that uses plain text with markup for formatting. All I need to produce the output is the ability to output plain text which makes it easy to create pretty printing in any programming language.