# Python代写｜Optimization theory and applications assessed assignment 1: linear programming

本次英国代写是一个Python线性规划的assignment

**1. The Objective:** the objective of this assignment is to devise a software

package in MATLAB or Python which would be used to solve arbitrary

linear programming (LP) problems. This package will have an input file

which encodes the linear programming task under consideration, and two

output files: one giving the individual steps of the computation, such as the

pivoting steps of the Simplex method, and a second file giving the solution

found. In the second part of this coursework you will research and consider a

linear programming task of your own construction and use your LP software

package to solve this LP task.

(1) The source code for your LP solver package (e.g. linprog.py).

(2) An example input file (input.txt) which should be initialised with the

example on page 26 section 2.11 of the course notes.

(3) An output file called log.txt which gives the internal working steps of

the method, specifically listing the tableau entries or steps involved in

pivoting.

(4) An output file called solution.txt which gives the solution, with possi

bly extra text clearly indicating which variable is which and the values

of any slack or surplus variables.

(5) A Readme.txt file which gives extra information as to how to run

your program, how to alter input.txt, and interpret the log.txt and

solution.txt files.

(6) A separate document labelled researchproject.pdf which describes

your chosen mini research project involving linear programming. This

latter document will clearly state the task considered, how you solved

it, and the results you achieved.

These various components of the coursework are described in more detail

below.

Comment: there is code for solving linear programming problems on the

Web. I will run the MOSS software comparison package against known code

sources. If you do use source code from the Web, you are protected from

any charge of plagiarism by citing the code, preferably both as a comment

in your source code, and as a statement in the Readme.txt. However, it is

worth noting that you do not get any marks by using somebody elses code!

It is best to devise your own software! Some aspects of the proposed package

use Gaussian elimination methods, so you may want to have a look at how

this type of computation with matrices is pursued elsewhere.

**2. The mark distribution and assessment of the coursework**

The program should be initialised in terms of the input file with the problem

stated as example on page 26 section 2.11 of the course notes. This is how

you present your program but it must be possible to adapt the input file

and easily switch to a new linear programming task to check the validity of

your program. Your input program will therefore have a parameter giving

the number of variables used, and the numbers of constraint equations, in

addition to giving the coefficients in the objective function and the coefficients

and other numbers in the linear constraints. For myself I have often used

an ASCII text input file with a stack of numbers, giving this information,

the number of variables, the number of constraint equations, the objective

function and numbers in the constraints. I then leave a few blank rows and

have a text annotation describing the various numbers in the top part of the

input file. For the two output files, I will leave it to you to devise your own

format, but it would also be in the form of a array of numbers with text

descriptions of the pivotings and possible text towards the bottom of the

output file describing and the interpreting the output.