Tutorial6_Math208
Tutorial6_Math208
Mina Moeini
Mina [email protected]
February 24, 2025
We have explored solving the problem as a linear programming model and have performed
sensitivity analysis on the available department hours.
We will explore modeling this problem as an Integer Linear Program (ILP).
Electronic Battery
Variable Cost per Unit $18.80 $16.00
Retail Price per Unit $29.50 $28.00
The company also has the option to obtain additional units from a subcontractor, who
has offered to supply up to 20,000 units per month in any combination of electronic and
battery-operated models, at a charge of $21.50 per unit. For this price, the subcontractor
will test and ship its models directly to the retailers without using Acme’s production process.
1
Questions:
(a) Acme wants an implementable schedule, so all quantities must be integers. What are
the maximum profit and the corresponding make/buy levels?
(b) Compare the maximum profit in (a) to the maximum profit achievable without integer
constraints. Does the integer solution correspond to the rounded-off values of the
noninteger solution? By how much (in percentage terms) do the integer restrictions
alter the value of the optimal objective function?
Solution
Problem Parameters
The problem consists of several parameters related to resource allocation and production.
The monthly available hours for Fabrication, Assembly, and Shipping are denoted as Hd ,
where d ∈ D = {f, a, s}. Each department requires a specific number of hours per unit
for electronics, represented as Ed , and for batteries, represented as Bd , where d ∈ D. The
variable costs associated with electronics and batteries are given by Ce and Cb , respectively,
while their retail prices are denoted as Re and Rb . Additionally, there is a unit price S for
purchasing electronics or batteries from a subcontractor. Finally, the demand for electronics
and batteries is represented by De and Db .
Problem Constraints
Production Capacity Constraints:
X
Ed xem + Bd xbm ≤ Hd , ∀d ∈ D.
d∈D
Procurement Limitations:
xeb + xbb ≤ Pmax .
Demand Constraints:
xeb + xem = De ,
xbb + xbm = Db .
Non-Negativity and Integer Constraints:
xem , xbm , xeb , xbb ≥ 0, Integer.
2
Problem Objective
The objective function is to maximize profit (Revenue - Cost):
max Z = Re (xem + xeb ) + Rb (xbm + xbb ) − Ce xem − Cb xbm − S(xeb + xbb ).
Full LP Model
Part A
The linear programming (non-integral) solution is as follows:
Table 3: LP Solution
3
Category Amount Purchased
Electronics (make) 6666
Batteries (make) 1000
Electronics (buy) 13334
Batteries (buy) 0
Part B
In comparing the LP model to the ILP model, we can see that the electronics (make) amount
is rounded down, while the electronics (buy) level is rounded up. In total, the objective differs
by $1.8.
The percent change is calculated using the percent change formula:
297, 998.2 − 298, 000
= −0.00003959%.
298, 000
This change is negligible. As this problem is linear with integer constraints, we used the
simplex solver.
4
Selecting New Products(Problem 6.4)
A video game company has an R&D group with 30 programmers. The group has been given
a budget of $1 million for this year to develop and test new game designs for introduction
next year. The new games have been outlined, each with the ancillary expenses that will
be incurred and the number of programmers that will be needed. A panel of marketing
specialists has estimated the potential revenues from each game. The problem for the R&D
group is to generate the maximum level of potential revenues from its limited expense budget
and its available programmers. What is the maximum level?
Game 1 2 3 4 5 6 7 8
Revenue 325 275 320 220 190 265 360 285
Expense 200 130 240 120 115 135 105 280
Programmers 0.6 0.5 0.8 0.4 0.5 0.5 0.7 0.6
Solution
In this problem, we have a limited budget and a group of 30 programmers. The goal of this
problem is to select which games to produce to maximize revenue.
Problem Parameters
The problem parameters are the number of programmers, the budget, and the revenue,
expense, and programmer requirements for each constraint.
The problem considers a budget, denoted as B, allocated for developing and testing new
game designs. There are a total of P programmers available for game development. Each
game i, where i ∈ {1, . . . , 8}, generates a revenue represented by ri and incurs an expense
given by ei . Additionally, each game requires a certain number of programmers, denoted as
pi , to be developed. The goal is to determine the optimal allocation of resources to maximize
profitability while adhering to budgetary and staffing constraints.
5
Problem Constraints
The constraints ensure that we do not use more programmers than available and that our
total expense is within the budget.
Programmer Constraint:
X 8
pi xi ≤ P.
i=1
Budget Constraint:
8
X
ei xi ≤ B.
i=1
Problem Objective
The objective is to maximize the total revenue.
8
X
max ri xi .
i=1
Full Model
8
X
max ri xi
i=1
X8
Subject to: pi xi ≤ P,
i=1
X8
ei xi ≤ B,
i=1
xi ∈ {0, 1}, ∀i ∈ {1, . . . , 8}.
Optimal Solution
The optimal solution is as follows:
Here we develop games 1, 2, 6, 7, and 8 for a maximized revenue of $1,510,000.
6
Game Decision (1 = yes, 0 = no)
1 1
2 1
3 0
4 0
5 0
6 1
7 1
8 1
Solution
If we choose to use 1 or more additional programmers, we must pay the $100,000 fee. We
want to determine whether it is beneficial to onboard additional programmers to produce
more games. Recall our original model:
8
X
Maximize r i xi
i=1
8
X
Subject to p i xi ≤ P
i=1
8
X
e i xi ≤ B
i=1
Problem Parameters
Since we now have the capability to hire 5 additional programmers, our parameter for the
number of available programmers increases from 30 to 35, i.e., P = 35 instead of our previous
limit of 30. We also introduce an additional variable C for the cost of hiring contractors.
7
Problem Decision Variables
We introduce an additional decision variable xc ∈ {0, 1}, which is a binary indicator variable
representing whether we decide to onboard the contractors.
Problem Constraints
Given the new parameter P , the original constraints remain unchanged. However, we intro-
duce an additional constraint to enforce the logic behind hiring contracted programmers:
P8
p i xi
xc ≥ i=1 −1
30
For this constraint: - If the total number of programmers used 8i=1 pi xi ≤ 30, the right-
P
hand side (RHS) is ≤ 0. This allows xc to be either 0 or 1, and the objective function will
determine the optimal choice. - If the total number of programmers used exceeds 30, the
RHS will be between 0 and 0.1666 (since we can use up to 35 programmers). Since xc is a
binary variable, it is forced to equal 1 in this case.
This formulation ensures that we only pay for additional programmers if we require more
than 30 programmers for game production.
Note that this constraint only works as long as we have fewer than 61 programmers. If
the offer were for 31 additional programmers, resulting in a total of 61 programmers, and
we utilized all 61 programmers, the right-hand side (RHS) of our constraint would be:
61
−1>1
30
Since xc can only take values of 0 or 1, the solution would be inaccurate. Therefore,
this constraint is only valid for the current setup of the problem. We will explore how
to generalize indicator variables to accommodate any number of programmers in a future
chapter.
Problem Objective
We now include the additional penalty cost of hiring additional programmers. The objective
function becomes:
8
X
Maximize ri xi − Cxc
i=1
Overall Model:
8
X
Maximize ri xi − Cxc
i=1
8
8
X
Subject to p i xi ≤ P
i=1
8
X
e i xi ≤ B
i=1
P8
i=1 p i xi
xc ≥ −1
30