Model: Dual Sourcing System (DUALSOURCING)

Description:

Consider a single-stage, incapacitated, manufacturing location facing stochastic demand. The manufacturer can buy the material from a “regular” supplier at cost \(c_r\) per unit, or, if needed, she can get some or all of the material “expedited” at some premium cost \(c_e\) per unit with \(c_e > c_r\). Regular orders arrive after \(l_r\) periods while expedited orders arrive after \(l_e\) periods with \(l_e < l_r\). Let the difference in lead times be \(l = l_r − l_e ≥ 1\).

If there is remaining on-hand inventory at the end of period \(n\) (after demand \(d_n\) is satisfied), these items are carried over to the next period (i.e., \(I_n+1 > 0\)) at a holding cost per unit. However, if there is a stock-out (i.e., \(In + 1 < 0\)), there is a penalty cost per unit of unsatisfied demand.

We will let the period \(n\) expediting order be based on the on-hand inventory plus the orders that will arrive within \(l_e\) periods (both regular and expedited). Regular orders that are due to arrive after \(l_e\) periods are not considered in expedited ordering decisions. The expedited order is placed to restore the expedited inventory position \(IP_n^e\), to some target parameter level \(z_e\). The regular order \(X_n^r\), on the other hand, is based on the regular inventory position (sum of on-hand inventory and all outstanding orders, including the expedited order placed in the current period). Similarly, it tries to restore the regular inventory position \(IP_n^r\) to the target parameter \(z_r\). Thus, under this model, we carry two inventory positions, one for regular orders and another for expedited orders.

Sources of Randomness:

Demand follows a normal distribution.

Model Factors:

  • n_days: Number of days to simulate.

    • Default: 1000

  • initial_inv: Initial inventory.

    • Default: 40

  • cost_reg: Regular ordering cost per unit.

    • Default: 100.00

  • cost_exp: Expedited ordering cost per unit.

    • Default: 110.00

  • lead_reg: Lead time for regular orders in days.

    • Default: 110.00

  • lead_exp: Lead time for expedited orders in days.

    • Default: 0

  • holding_cost: Holding cost per unit per period.

    • Default: 5.00

  • penalty_cost: Penalty cost per unit per period for backlogging.

    • Default: 495.00

  • st_dev: Standard deviation of demand distribution.

    • Default: 10.0

  • mu: Mean of demand distribution.

    • Default: 30.0

  • order_level_reg: Order-up-to level for regular orders.

    • Default: 80

  • order_level_exp: Order-up-to level for expedited orders.

    • Default: 50

Responses:

  • average_holding_cost: The average holding cost over the time period.

  • average_penalty_cost: The average penalty cost over the time period.

  • average_ordering_cost: The average ordering cost over the time period.

References:

This model is adapted from the article Veeraraghavan, S and Scheller-Wolf, A. Now or Later: A simple policy for Effective Dual Sourcing in Capacitated Systems. Operations Research (4), 850- 864.

Optimization Problem: Minimize total cost (DUALSOURCING-1)

Decision Variables:

  • order_level_exp

  • order_level_reg

Objectives:

Minimize the expected total cost: sum of average_holding_cost, average_penalty_cost, average_ordering_cost.

Constraints:

order_level_exp and order_level_reg are both non-negative.

Problem Factors:

  • budget: Max # of replications for a solver to take.

    • Default: 1000

Fixed Model Factors:

N/A

Starting Solution:

  • order_level_exp: 50

  • order_level_reg: 80

Random Solutions:

Draw order_level_exp from Uniform(40,60) and order_level_reg from Uniform(70,90).

Optimal Solution:

Unknown.

Optimal Objective Function Value:

Unknown.