Mathematical Programming for PlanningWhat is a mathematical program?An optimization task where we want to find a solution thatminimizes or maximizes an objective function under constraints.Typically, it has many variables and constraints.(Note: the word “program” in the name may be misleading, thishas noting to do with computer programming, even though thesolving algorithm is implemented by a computer program).Classification• Continuous — Discrete: If all the variables can take con-tinuous values (real numbers) then the task is called con-tinuous. If the variables are allowed to take discrete valuesonly (e.g., integers), then we speak about a discrete pro-gramming task. (Sometimes both cases occur within thesame problem, then we speak about mixed programming).• Linear Programming (LP): A linear programming problem(see more later) is a continuous optimization task in whichthe objective function is linear and the constraints are ex-pressed by linear inequalities or linear equations.• Nonlinear Programming: If either the objective functionor the constraints (or both) are nonlinear, then we speakabout nonlinear programming.• Combinatorial Optimization: Many optimization problemsthat occur in network design are associated with a combina-torial structure, typically a graph. This often imposes theconstraint that the variables are 0-1 valued, i.e, can onlytake 2 possible values (0 or 1). Then we often speak aboutcombinatorial optimization.Our first objective is to show how to formulate network designproblems as mathematical programming tasks.Why is it important? Because once the task is formulated as astandard mathematical programing problem, the solution can befound using known algorithms that are available as commercialsoftware, or even
View Full Document