Description: Linear Programming (LP) and Mixed-Integer Linear Programming (MILP) is a modeling and problem solving technique involving a mathematical model of reality. The model consists of real-valued variables which represent our choices of freedom in the system to be modeled; constraints that are equations and inequalities representing real-life restrictions and rules to be obeyed; and an objective function determining how good a particular solution is. A typical moment in modeling is when some activity has a cost in the objective function: for example, the more raw material we purchase, the more cost is incurred, and the best, most profitable decision shall be found in such a situation with tradeoffs. The simplest connection between the amount (quantity) and the cost is linearity: that means, there is a fixed, quantity-independent unit price, and the connection is cost = unit price * amount. However, there are more complex situations arising for cost functions in reality: declining yield (higher unit price for higher amounts), ecomony of scale (lower unit price for lower amounts), fixed costs (instead of/along unit price, there is a single fixed cost for an amount larger than a treshold), and an arbitrary combination of these. The goal in this project is to implement a software tool, with which a user can define arbitrary, complex cost functions and the corresponding LP/MILP constraints are automatically generated in some modeling language, for example GNU MathProg. Knowing the basics of linear programming, GNU MathProg, the topics of "Operations Research" subject is a substantial advantage in solving this problem.
Supervisor: András Éles