Chapter 3 - Intro to linear programming Flashcards
What is the most common application of the linear programming tool?
The most common usage of LP is resource allocation problems.
Resource allocation problems typically involve a set of activities that require resources to operate. Our problem is essentially finding out how much of each activity to “fund” so that our resource-usage is as good as it can be.
It is important to add that this is only a problem when the activities are COMPETING in regards to resources. If activities use different resources, then the problem becomes something different.
What does “linear programming” mean?
Linear means linear functions.
Programming means “planning”. It is not coding/developing, it is about creating a programme of activities.
Elaborate on the classic “glass production” example with 2 products, 3 plants with this restrictions:
product 1 require plant 1 and then plant 3
product 2 require plant 2 and then plant 3
MC is constant.
Profit is 3000 of product 1, 5000 of product 2
We want to maximize Z = 3x_1 + 5x_2 subject to the constraints.
What constraints do we have?
First, we need to find out how much time each product require in each plant.
Then we need to find out how much capacity (in hours) each plant has.
Then we can solve it.
We find that product 1 require 1 hour in P1, and 3 hours in P3.
we find that product 2 require 2 hours in P2 and 2 hours in P3.
We notice that the products both need plant 3, which is the cause for competition.
We also assume that everything produced will be sold.
THe constraints are like this:
P1 can only operate 4 hours a week. P2 12 hours a week. P3 18 hours a week.
We get:
x_1 <= 4
2x_2 <= 12
3x_1 + 2x_2 <= 18
We also get the non-negativity constraints:
x_1 >= 0
x_2 >= 0
We create the feasible region by plotting in these constraints. This is easy due to 2D plot.
Then we use the objective function in slope-intercept form, shift it to the furthest out point in the feasible region, and read the point values.
What is a resource-allocation problem?
They are characterized by constraints on the shape of:
variable relations <= constant
when the right hand side of the inequality represent the amount available of some scarce resource, perhaps time.
Elaborate on “resources” and “activities”
The terms “resources” and “activities” are general. In the glass example, we used terms like “3 plants” and “2 products”. This is very specific. In the general case, we are talking about “m resources” and “n activities”.
So, plants become the resources we have that can be used.
The number of products become the activities.
A KEY thing is that resources are limited (plant-hours are limited) and activities (products) are to be selected.
What variables do we use in LP?
Z: The overall performance measure
x_j: Level of activity j
c_j: Increase in Z that would result from each unit increase in level of activity
b_i: The amount of resource i that is available for allocation to activities.
a_ij: Amount of resource i consumed by each unit of activity j.
So, in the glass example:
Z is the profit.
x_j is the variables we’re solving for.
c_j is marginal profit/profit per bunch due to constant MC.
b_i is the hours of time each plant i has available.
a_ij is the time each activity j (product) require from resource i.
What are “decision variables”?
Decision variables are variables we are solving for.
What are the other “variables” in the model referred to as?
Parameters.
What is “standard form”?
Our standard form is an LP problem that wants to maximize an objective function (linear) and only have inequality constraints where the left hand side is smaller than or equal to some constant value.
AND non-negativity for all.
Max Z = c1x1+c2c2 + … + cnxn
subject to the restrictions
a11x1 + a12x2 + … + a1nxn <= b1
.
.
.
am1x1 + am2x2 + … + amnxn <= bm
and x1 >= 0, …
Thus, the glass example problem fits the standard model with m = 3 and n = 2.
IMPORTANT: There are many other forms that also classify as linear programming models. They are just not what we embrace as our standard form. Some of these forms are:
1) Minimizing rather than maximizing the objective function
2) Some of the functional constraints having a left-hand side that is GREATER THAN or equal to some constant value.
3) Some of the functional constraints having a tight equality bound, i.e. the functional constraint is an equality.
4) Deleting the nonnegativity constraints for some decision variables.
The whole point is that while the model no longer is a strict resource allocation problem, it is still a LP model.
What is the “objective function”?
The objective function is the function we want to maximize. Z.
Constraints is a collective term for all constraints of a problem. Can we be more specific?
We can separate between constraints that enforce non-negativity and the ones that impose limits on the resources.
1) Functional constraints
2) Nonnegativity constraints.
Functional constraints are also referred to as “structural constraints”.
What is the “concise” definition of an LP problem?
A problem is an LP problem if each component of the problem model fits the standard form, or any other legitimate form.
This means, a problem can be a valid LP problem even though it cannot be structured by the standard form. This just means that our interpretation of “allocating limited resources among competing activities” may not be that fitting for some problems.
What is a “solution” in LP?
A solution is just a selection of values for the decision variables.
A solution is not necessarily the desired outcome.
What is a feasible solution?
A feasible solution is a solution (value selection to decision variables) that satisfies all the constraints.
What is an infeasible solution?
A solution where at least one constraint is violated.
What is the optimal solution?
the optimal solution is the solution that has the most favorable value of the objective function. Recall that we attempt to either maximize or minimize the objective function.
In what cases can we have “no optimal solution”?
There are 2 cases.
1) Whenever there are no feasible solutions
2) Whenever there is no constraint preventing a variable to be “even higher” essentially making it so that “higher level means better reward” and we can always get higher level. This is referred to as an UNBOUNDED objective.
Elaborate on the “proportionality” assumption.
Explain what the “real” outcome of this is.
Proportionality is an assumption regarding both the objective function and the functional constraints.
“The contribution of each activity to the value of the objective function Z is proportional to the level of the activity x_j” as represented by the c_j*x_j term in the objective function.
The same argument applies to the functional constraints, but now the terms are given as a_ij*x_j.
The result of this is at we rule out all exponents other than 1.
Note that this does not rule out cross-variable terms. In order to do this, we use further assumptions.
Given a list of “profit” corresponding to different levels of activity, how can we figure out if the proportionality assumption is satisfied or not?
Proportionality implies that the rate of change remains the same. Therefore, we need to see if the growth in profit match the growth in activity at all levels.
What could violate the proportionality assumption?
Start up costs
Economies of scale
Diseconomies of scale.
ELaborate on the additivity assumption
Recall that the proportionality assumption keeps exponents of variables to “1”. However, this does not stop us from using cross-product terms, like this: x_1*x_2. Cross-product terms are RULED OUT by additivity.
Additivity assumption: “Every function in LP (whether the objective function or functional constraints) is the sum of the individual contributions of the respective activities”. Thus, there is no room for cross-product terms.
This means that additivity makes sure that we only use the sum of contributions to each activity.
Keyword: “individual contributions to each acitvity”. In this definition, there is no room for some kind of contribution that applies to the cross-product of some activities/variables.
What happens if either proportionality or additivity is not satisfied?
We cannot solve the problem by LP
Elaborate on the divisibility assumption
The divisibility assumption is concerned with the allowed values for our decision variables.
Divisibility assumption: “Decision variables in a linear programming model are allowed to have any values, including non-integer values, that satisfy the functional and nonnegativity constraints. Thus ,these values are not restricted to just integer values.”
NB: This assumes that activities can run at fractional levels. Is this really possible?