List of all analyzed LP problems
The Portfolio Optimization Problem
This LP problem involves finding the optimal allocation of assets in a portfolio in order to maximize returns or minimize risk.
Parameters:
- : available capital
Decision variables:
- : amount of money invested in stock of type 1
- : amount of money invested in stock of type 2
The Resource Allocation Problem
This LP problem involves finding the optimal allocation of resources (such as time, money, or materials) to different activities in order to maximize some objective.
The Production Planning Problem
This LP problem involves finding the optimal production levels of different products in order to maximize profits or minimize costs.
Typical example:
Sets:
- set of months
Parameters:
- : production capacity of
- production capacity of
- : unit production cost for
- : unit production cost for
- inventory cost per unit and month
- : sales forecast for month , for
Decision variables
- : units produced by in month , for
- : units bought from in month , for
- : units in inventory at the end of month , for
Model
Observe that the (demand) constraint is redundant, as it is implied by .
Minimum lot size example
It’s not so rare that you have to account a minimum lot size. We add the binary variables:
- if production is active at month , or 0 otherwise, for
and the constraints
where is the minimum lot size, and is equal to the monthly productive capacity.
Note that the activation variable is a common “pattern” to keep the LP linear.
Diet optimization
This is a classic LP problem that involves finding the optimal combination of foods to eat in order to meet certain nutritional requirements at the lowest cost.
Packet routing
With the capacity consumed by -th packet, cost consumed by the -th packet on link 1, and the constraints on each link and decision variables.
We can also ‘expand’ this formulation obviously for many links. In that case the decision variables will be : set to 1 if packet -th is sent over -th link.
Also remember to explicit the constraint: which in case of 2 links was kept ‘implicit’.
The Assignment Problem
This LP problem involves finding the optimal assignment of workers to tasks, in order to minimize the total cost of the assignments.
Sets:
- : months
Parameters:
- : demand for month
Decision variables:
- : number of expert workers available in month
- : number of workers training during month
Model:
Floor function replacement example
Constraint (number) is nonlinear. By dropping the operator, we obtain the constraint
which is not correct since, due to the integrality requirements on the variables, it forces to be a multiple of 100 (such that will always be an integer value).
Constraint (number) can be formulated in a linear way by introducing for each an auxiliary integer variable that represents , and by adding the auxiliary constraints:
Then we clearly have .
Transportation problem
This LP problem involves finding the optimal way to distribute a product from a set of sources to a set of destinations at the lowest cost.
The Facility Location Problem
This LP problem involves finding the optimal location for a facility (such as a factory or warehouse) in order to minimize costs or maximize profits.
The problem is an important extension of the transportation problem where we have to decide not only the transportation plan for supplying the goods from the wharehouses to the clients, but also the candidate sites (locations) in which to open (activate) the warehouses.
The Knapsack Problem
This LP problem involves finding the optimal selection of items to include in a knapsack, in order to maximize the total value of the items while staying within the knapsack’s weight limit.
IMP - Influence maximization in social networks
The problem of finding a set of most influential users in a social network which maximizes the diffusion spread of a marketing campaign can be seen as an Influence Maximization Problem .
To solve the Influence Maximization Problem (IMP), we are given a directed weighted graph representing a network where each node corresponds to a user, and each arc indicates a relationship between user and user .
To define the diffusion spread, we use the deterministic Linear Threshold (LT) model, where each node gets active only if the sum of the incoming arc weights over all the active neighboring nodes of , reaches a given threshold .
The propagation defined by the LT model evolves as a deterministic process over a discrete time horizon.
DNA sequence
To store a large set of strings, such as DNA sequences, we can use compact storage for similar sequences. The problem is to store many similar entries in a compact way, assuming the strings are binary. We can compute the Hamming distance between each pair of sequences (number of bits that need to be flipped to obtain the other sequence) to satisfy the properties of a distance function. Indeed distance hamming satisfies the three usual properties of a distance: nonnegativity, symmetry and triangle inequality. In order to exploit redundancies between sequences and to save memory, we can store only one of the sequences and then construct a complete graph with a node for each difference. The problem of deciding which differences to memorize, so as to minimize the total number of bits used for storage, can be reduced to the problem of finding a minimum-cost spanning tree in an appropriate graph: only one sequence is completely stored, the spanning tree will be connected so that is possible to retrieve any sequence.
In order to exploit redundancies between sequences and to save memory, we can store only one of the sequences and then construct a complete graph with a node for each difference. The problem of deciding which differences to memorize, so as to minimize the total number of bits used for storage, can be reduced to the problem of finding a minimum-cost spanning tree in an appropriate graph: only one sequence is completely stored, the spanning tree will be connected so that is possible to retrieve any sequence.