Tags:
create new tag
view all tags
<!-- Ready to Review --> %BEGINLATEXPREAMBLE% \usepackage{amsmath} \usepackage{amssymb} %ENDLATEXPREAMBLE% ---+ Supply Chain Mathematical Programmes This material is a summary of the material on supply chain networks from *Chapter 2* __Supply Chain Networks__ in __<a href="https://books.google.co.nz/books?hl=en&id=THA0DNhKADoC&dq=supply+chain+network+economics&printsec=frontcover&source=web&ots=yzT-m99Y2i&sig=l5naiHqESzNSicq8pf2B6QEBNcc">Supply Chain Network Economics: Dynamics of Prices, Flows and Profits</a>__ by *Anna Nagurney (2006)*. ---+ <a name="top"></a> Supply Chains 1 [[#intro][Introduction]] 1 [[#manufacturer][The Manufacturer's Problem]] 1 [[#retailer][The Retailer's Problem]] 1 [[#consumer][The Consumer's Problem]] 1 [[#equilibrium][Equilibrium and Variational Inequalities]] ---++ <a name="intro"></a> Introduction Throughout a supply chain there are many organisations who are trying to make the best decision for their business. These decisions can be formulated as [[MathematicalProgramming][mathematical programmes]]. We will introduce a supply chain model that is a simplification of that presented in the [[SupplyChains#intro][Supply Chains introduction]]. We will formulate the mathematical programmes faced by the organisations at each stage of this supply chain. This simplification can be easily extended to supply chain models with more stages (e.g., see [[SupplyChains][Supply Chains]]) by inserting more [[#retailer][Retailer's Problems]] into the simplified model. The supply chain model considered here has three stages (shown in [[#fig1][Figure 1]]): 1 The [[#manufacturer][manufacturers]]; 1 The [[#retailer][retailers]]; 1 The [[#consumer][demand markets]]. Products are created by the manufacturers, sold to the retailers where they are stored, distributed, etc and then sold again in the demand markets to consumers. <a name="fig1"></a> *Figure 1* A 3-stage supply chain model (adapted from [[https://books.google.co.nz/books?hl=en&id=THA0DNhKADoC&dq=supply+chain+network+economics&printsec=frontcover&source=web&ots=yzT-m99Y2i&sig=l5naiHqESzNSicq8pf2B6QEBNcc][Supply Chain Network Economics]]) <img width="600" alt="supply_chain_mp.jpg" src="%ATTACHURLPATH%/supply_chain_mp.jpg" height="293" /> The rest of this topic deals with the mathematical programmes faced by the manufacturers, retailers and consumers (in the demand markets). [[#top][Return to top]] ---++ <a name="manufacturer"></a> The Manufacturer's Problem Each manufacturer %$i$% (from the set of manufacturers %$1, 2, \ldots, m$% must determine an optimal output quantity %$q_i$% which is split into flows %$q_{ij}$% to send to each retailer %$j$% (from the set of retailers %$1, 2, \ldots, n$%). Of course all output is sent to retailers so %\[ q_i = \sum_{j=1}^n q_{ij} \]% The production cost %$f_i$% for manufacturer %$i$% may be influenced not only by their output %$q_i$%, but also by the outputs from other manufacturers, e.g., due the competition for shared resources. Thus, %$f_i$% is a function of the *vector* %$q = \left( q_i \right)$% which may also be expressed as the matrix of flows from manufacturers to retailers, i.e., %\[ Q^1 = \begin{pmatrix} q_{11} & q_{12} & \cdots & q_{1n} \\ q_{21} & q_{22} & \cdots & q_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ q_{m1} & q_{m2} & \cdots & q_{mn} \end{pmatrix} \]% so %\[ f_i = f_i(q) = f_i(Q^1) \]% Finally, there is a transaction cost %$c_{ij}$% associated with sending flow %$q_{ij}$% from manufacturer %$i$% to retailer %$j$%, i.e., %\[ c_{ij} = c_{ij}(q_{ij}) \]% Each manufacturer %$i$% sets a unit price %$\rho_{1ij}$% for selling their output to retailer %$j$%. Now manufacturer %$i$% want to maximise their profit, i.e., total income - production cost - transaction cost, over the set of non-negative flows: %BEGINLATEX{label="eq:manufacturer"}% \begin{equation*} \begin{array}{l@{ }l} \displaystyle \max \sum_{j=1}^n \rho_{1ij} & \displaystyle q_{ij} - f_i(Q^1) - \sum_{j=1}^n c_{ij}(q_{ij}) \ \text{subject to} \ & q_{ij} \geq 0, j = 1, 2, \ldots, n \end{array} \end{equation*} %ENDLATEX% [[#top][Return to top]] ---++ <a name="retailer"></a> The Retailer's Problem Each retailer %$j$% must determine their optimal flow %$q_{ij}$% to receive from manufacturer %$i$% and also their optimal flow %$q_{jk}$% to sell to consumers in demand market %$k$% (in the set of demand markets %$1, 2, \ldots, p$%). There is an associated handling cost %$c_j$% that may depend on the flow to other retailers, e.g., competition for output from the manufacturers: %\[ c_j = c_j(Q^1) \]% Each retailer %$j$% sets a unit price %$\rho_{2j}$% for sending flow to a demand market. Note that this price does not depend on the market (as consumers will simply move to the demand markets with the lowest price). Now the retailer must choose flows to maximise their total profit (total income - handling cost - purchase cost): %BEGINLATEX{label="eq:retailer"}% \begin{equation*} \begin{array}{l@{ }l@{ }l} \displaystyle \max \rho_{2j} \sum_{k=1}^p & q_{jk} & \displaystyle - \ c_j(Q^1) - \sum_{i=1}^m \rho_{1ij} q_{ij} \ \text{subject to} \ \displaystyle \hfill \sum_{k=1}^p & q_{jk} & \displaystyle \leq \sum_{i=1}^m q_{ij} \ & q_{ij} &\geq 0, i = 1, 2, \ldots, m \ & q_{jk} &\geq 0, k = 1, 2, \ldots, p \end{array} \end{equation*} %ENDLATEX% [[#top][Return to top]] ---++ <a name="consumer"></a> The Consumers' Problem The consumers within a demand market %$k$% must determine how much of the incoming flow to purchase. They take the price %$\rho_{2j}$% from each retailer and there is an associated *unit* transaction cost %$c_{jk}$% for purchasing flow from retailer %$j$%. This cost may depend on the behaviour of consumers in other demand markets, e.g., . competition for flows from retailers, i.e., %\[ Q^2 = \begin{pmatrix} q_{11} & q_{12} & \cdots & q_{1p} \\ q_{21} & q_{22} & \cdots & q_{2p} \\ \vdots & \vdots & \ddots & \vdots \\ q_{n1} & q_{n2} & \cdots & q_{np} \end{pmatrix} \]% and %\[ c_{jk} = c_{jk}(Q^2) \]% The combination of the different prices and unit transaction costs gives rise to an "effective" price %$\rho_{3k}$% for a consumer to purchase a unit of flow in demand market %$k$%. The demand for flow in demand market %$k$% is determined by the demand curve, a function of the effective price, i.e., %\[ d_k = d_k(\rho_{3k}) \]% The consumers within demand market %$k$% choose flows to minimise their total cost while meeting demand: %BEGINLATEX{label="eq:consumer"}% \begin{equation*} \begin{array}{l@{ }l@{ }l} \displaystyle \min \rho_{3k} \sum_{j=1}^n & q_{jk} \ \text{subject to} \ \displaystyle \hfill \sum_{j=1}^n & q_{jk} & \geq d_k(\rho_{3k}) \ & q_{jk} &\geq 0, j = 1, 2, \ldots, n \end{array} \end{equation*} %ENDLATEX% [[#top][Return to top]] ---++ <a name="equilibrium"></a> Equilibrium and Variational Inequalities If the prices %$\rho_{1ij}$%, %$\rho_{2j}$% and %$\rho_{3j}$% are not _coordinated_ then solving the [[#manufacturer][Manufacturer's Problem]], the [[#retailer][Retailer's Problem]] and the [[#consumer][Consumers' Problem]] will give inconsistent values for %$q_{ij}$% and %$q_{jk}$%. That is, the manufacturers will want to ship different amounts to the retailers than the retailers will want to receive from the manufacturers and the retailers will want to sell different amounts to the demand markets from the amounts that the consumers at the demand markets want to purchase. However, these prices will adjust until the supply chain reaches _equilibrium_ and the flows from the different mathematical programmes agree. One way to find this equilibrium point is to solve a _[[https://en.wikipedia.org/wiki/Variational_inequality][variational inequality]]_. [[#thm1][Theorem 1]] gives the necessary variational inequalities: <a name="thm1"></a> *Theorem 1: Variational Inequality* _The equilibrium state governing the supply chain model according to the optimality conditions of the supply chain mathematical programmes %REFLATEX{eq:manufacturer}%, %REFLATEX{eq:retailer}% and %REFLATEX{eq:consumer}% is equivalent to the solution of the variational inequality problem given by: determine the equilibrium vectors of product shipments, shadow prices, and demand market prices %$(Q^{1*}, Q^{2*}, \gamma^*, \rho_{3}^*) \in \mathbb{R}_+^{mn+np+n+p}$% satisfying_ %BEGINLATEX% \begin{equation*} \begin{split} & \sum_{i=1}^m \sum_{j=1}^n \left[ \frac{\partial f_i(Q^{1*})}{\partial q_{ij}} + \frac{\partial c_{ij}(q_{ij}^*)}{\partial q_{ij}} + \frac{\partial c_j(Q^{1*})}{\partial q_{ij}} - \gamma_j^* \right] \times \left[ q_{ij} - q_{ij}^* \right] \ &+ \sum_{j=1}^n \sum_{k=1}^p \left[ c_{jk}(Q^{2*}) + \gamma_j^* - \rho_{3k}^* \right] \times \left[ q_{jk} - q_{jk}^* \right] \ &+ \sum_{j=1}^n \left[ \sum_{i=1}^m q_{ij}^* - \sum_{k=1}^p q_{jk}^* \right] \times \left[ \gamma_j - \gamma_j^* \right] \ &+ \sum_{k=1}^p \left[ \sum_{j=1}^n q_{jk}^* - d_k(\rho_3^*) \right] \times \left[ \rho_{3k} - \rho_{3k}^* \right] \geq 0, \forall (Q^{1}, Q^{2}, \gamma, \rho_{3}) \in \mathbb{R}_+^{mn+np+n+p} \end{split} \end{equation*} %ENDLATEX% Once the equilibrium state has been found the manufacturers' prices and the retailers' prices can be calculated: * %$\displaystyle \rho_{1ij}^* = \left[ \frac{\partial f_i(Q^{1*})}{\partial q_{ij}} + \frac{\partial c_{ij}(q_{ij}^*)}{\partial q_{ij}} \right]$% if %$q_{ij}^* > 0$%; * %$\rho_{2j}^* = \gamma_j^* = \rho_{3k}^* - c_{jk}(Q^{2*})$% if %$q_{jk}^* > 0$% for some %$k$%. [[#top][Return to top]] -- Main.MichaelOSullivan - 31 Mar 2008
E
dit
|
A
ttach
|
Watch
|
P
rint version
|
H
istory
: r15
<
r14
<
r13
<
r12
<
r11
|
B
acklinks
|
V
iew topic
|
Ra
w
edit
|
M
ore topic actions
Topic revision: r15 - 2018-11-23
-
TWikiAdminUser
Home
Site map
Forum web
Main web
NDSG web
ORUA web
OpsRes web
Sandbox web
TWiki web
OpsRes Web
Create New Topic
Index
Search
Changes
Notifications
RSS Feed
Statistics
Preferences
P
View
Raw View
Print version
Find backlinks
History
More topic actions
Edit
Raw edit
Attach file or image
Edit topic preference settings
Set new parent
More topic actions
Account
Log In
E
dit
A
ttach
Copyright © 2008-2025 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki?
Send feedback