Skip to main content
Log in

A cumulative offer process for supply chain networks

  • Original Paper
  • Published:
Review of Economic Design Aims and scope Submit manuscript

Abstract

We introduce a version of the Cumulative Offer Algorithm of Hatfield and Milgrom (Am Econ Rev 95(4):913–935, 2005) modified for the supply chain networks setting of Ostrovsky (Am Econ Rev 98(3):897–923, 2008). The algorithm provides an alternative proof for existence of a chain stable network. Moreover, we show that when choice functions satisfy same-side substitutes and cross-side complements, and the Law of Aggregate Demand and Supply, then contracts satisfy Irrelevance of Rejected Contracts condition, a condition implicitly assumed in Ostrovsky (2008).

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

Notes

  1. Aygün and Sönmez (2012a) further show the use of IRC in Hatfield and Kojima (2010), which shows existence of stable allocations under weakened substitutability condition in many-to-one matching with contracts.

  2. Subscripts are omitted when it is clear the reference is to an agent \(a\in A\).

  3. We thank an anonymous referee for shortening the proof.

  4. Note that \(b_{n}\) is the agent in the blocking chain who is in the lowest tier.

References

  • Adachi H (2000) On a characterization of stable matchings. Econ Lett 68:43–49

    Article  Google Scholar 

  • Adachi H (2017) Stable matchings and fixed points in trading networks: a note. Econ Lett 156:65–67

    Article  Google Scholar 

  • Afacan MO (2017) Some further properties of the cumulative offer process. Games Econ Behav 104:656–665

    Article  Google Scholar 

  • Aygün O, Sönmez T (2012a) The importance of irrelevance of rejected contracts in matching under weakened substitutes condition. Working paper

  • Aygün O, Sönmez T (2012b) Matching with contracts: the critical role of irrelevance of rejected contracts. Working paper

  • Aygün O, Sönmez T (2013) Matching with contracts: comment. Am Econ Rev 103(5):2050–2051

    Article  Google Scholar 

  • Aygün O, Turhan B (2017) Large-scale affirmative action in school choice: Admissions to IITs in India. Am Econ Rev 107(5):210–13

    Article  Google Scholar 

  • Blair C (1988) The lattice structure of the set of stable matchings with multiple partners. Math Oper Res 13(4):619–628

    Article  Google Scholar 

  • Chambers CP, Yenmez MB (2017) Choice and matching. Am Econ J Microecon 9(3):126–47

    Article  Google Scholar 

  • Echenique F (2007) Counting combinatorial choice rules. Games Econ Behav 58:231–245

    Article  Google Scholar 

  • Echenique F, Oviedo J (2004) Core many-to-one matchings by fixed-point methods. J Econ Theory 115:358–376

    Article  Google Scholar 

  • Echenique F, Oviedo J (2006) A theory of stability in many-to-many matching markets. Theor Econ 1:233–273

    Google Scholar 

  • Fleiner T, Jankó Z, Tamura A, Teytelboym A (2018) Trading networks with bilateral contracts. Working paper

  • Fung J, Hsu CL (2014) On weaker conditions for stable many-to-many matching with contracts. Working paper

  • Hatfield JW, Kojima F (2010) Substitutes and stability for matching with contracts. J Econ Theory 145:1704–1723

    Article  Google Scholar 

  • Hatfield JW, Kominers SD (2012) Matching in networks with bilateral contracts. Am Econ J Microecon 4(1):176–208

    Article  Google Scholar 

  • Hatfield JW, Milgrom PR (2005) Matching with contracts. Am Econ Rev 95(4):913–935

    Article  Google Scholar 

  • Hatfield JW, Kominers SD, Nichifor A, Ostrovsky M, Westkamp A (2013) Stability and competitive equilibrium in trading networks. J Political Econ 121(5):966–1005

    Article  Google Scholar 

  • Hatfield JW, Kominers SD, Westkamp A (2017) Stability, strategy-proofness, and cumulative offer mechanisms. In: Proceedings of the 18th ACM conference on economics and computation. ACM, pp 673–674

  • Hatfield JW, Kominers SD, Nichifor A, Ostrovsky M, Westkamp A (2018) Chain stability in trading networks. In: Proceedings of the 19th ACM conference on economics and computation. ACM, pp 617–618

  • Hirata D, Kasuya Y (2014) Cumulative offer process is order-independent. Econ Lett 124(1):37–40

    Article  Google Scholar 

  • Kominers SD, Sönmez T (2016) Matching with slot-specific priorities: theory. Theor Econ 11(2):683–710

    Article  Google Scholar 

  • Ostrovsky M (2008) Stability in supply chain networks. Am Econ Rev 98(3):897–923

    Article  Google Scholar 

  • Sönmez T, Switzer TB (2013) Matching with (branch-of-choice) contracts at united states military academy. Econometrica 81(2):451–488

    Article  Google Scholar 

Download references

Acknowledgements

We thank Fuhito Kojima, Tayfun Sönmez, and anonymous referees for their comments. This paper was previously circulated under the title ““Stability in Supply Chain Networks:” An Alternative Approach.”

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Chia-Ling Hsu.

Ethics declarations

Conflict of interest

Both authors declare that they do not have any conflict of interest related to the research in this paper.

Funding

Both authors declare that they do not have any financial interests related to the research in this paper.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendices

Appendix A: The role of the IRC condition: an example

The following example is based on Example 1 in Aygün and Sönmez (2012b).

There are four nodes, \(A=\{a_{1}, a_{2}, a_{3},a_{4}\}\), with three tiers. Node \(a_{1}\) has two contracts \(x, x'\). Node \(a_{2}\) has one contract y. Node \(a_{4}\) has one contract z. Nodes \(a_{1},a_{2}\) and \(a_{4}\) can only sign contracts with node \(a_{3}\). Figure 1 illustrates all of the possible contracts that can be signed.

Fig. 1
figure 1

The set of all possible contracts in Example A

Consider the following choice functions:

$$\begin{aligned} \begin{array}{lll} C_{a_1}(\{x\})=\{x\} &{} C_{a_2}(\{y\})=\{y\} &{} C_{a_{4}}(\{z\})=\{z\} \\ C_{a_1}(\{x'\})=\{x'\} &{} &{}\\ C_{a_{1}}(\{x, x'\})=\{x\} &{} &{} \\ \end{array} \end{aligned}$$
$$\begin{aligned} \begin{array}{llll} \begin{array}{l} C_{a_{3}}(\{x\}) = \{x\} \\ C_{a_{3}}(\{x'\}) = \{x'\} \\ C_{a_{3}}(\{y\}) = \{y\} \\ C_{a_{3}}(\{z\}) = \varnothing \\ \end{array}&{} \left| \begin{array}{l} C_{a_{3}}(\{x, x'\}) = \{x\} \\ C_{a_{3}}(\{x, y\}) = \{y\} \\ C_{a_{3}}(\{x', y\}) = \{x'\} \\ C_{a_{3}}(\{x, z\}) = \{x\} \\ C_{a_{3}}(\{x', z\}) = \{x'\} \\ C_{a_{3}}(\{y, z\}) = \{y\} \\ \end{array}\right. &{} \left| \begin{array}{l} C_{a_{3}}(\{x, x', y\}) = \varnothing \\ C_{a_{3}}(\{x, x', z\}) = \{x, x'\} \\ C_{a_{3}}(\{x, y, z\}) = \{x, y\} \\ C_{a_{3}}(\{x',y,z\}) = \{x', y\}\\ \\ \\ \end{array}\right. &{} \left| \begin{array}{l} C_{a_{3}}(\{x, x', y, z\}) = \{x, x', y\} \\ \\ \\ \\ \\ \\ \end{array}\right. \end{array} \end{aligned}$$

Choice functions satisfy both same-side substitutes and cross-side complements. In particular, note that \(U_{a_3}(\{x,x',y\})=U_{a_3}(\{x,x',y,z\})=\{x,x',y\}\) and \(D_{a_3}(\{x,x',y\})=\varnothing \subset D_{a_3}(\{x,x',y,z\})=\{z\}\). Then \(a_3\)’s choice functions satisfy cross-side complements, since

$$\begin{aligned} \varnothing =U_{a_3}(C_{a_3}(\{x,x',y\}))\subset U_{a_3}(C_{a_3}(\{x,x',y,z\}))=\{x,x',y\}. \end{aligned}$$

Moreover, they satisfy same-side substitutes since

$$\begin{aligned} \varnothing =D_{a_3}(\{x,x',y\}){\setminus } D_{a_3}(C_{a_3}(\{x,x',y\})) \subset D_{a_3}(\{x,x',y,z\}){\setminus } D_{a_3}(C_{a_3}(\{x,x',y,z\}))=\{z\}, \end{aligned}$$

It is easy to verify the same for each node.

However, contracts for \(a_3\) do not satisfy the IRC condition, since \(z\not \in C_{a_3}(\{x,x',y,z\})\) and yet

$$\begin{aligned} \varnothing = C_{a_3}(\{x,x',y\}) \ne C_{a_3}(\{x,x',y,z\} = \{x,x',y\}. \end{aligned}$$

No chain stable network exists in this example.

Network

Chain block

Network

Chain block

\(\{x\}\)

\(\{y\}\)

\(\{x,y\}\)

\(\{y\} \)

\(\{x'\}\)

\(\{x\}\)

\(\{x',y\}\)

\(\{x'\}\)

\(\{y\}\)

\(\{x'\}\)

\(\{x,z\}\)

\(\{x\} \)

\(\{z\}\)

\(\{x\}\)

\(\{x',z\}\)

\(\{x'\}\)

\(\varnothing \)

\(\{x\}\)

\(\{x,y,z\}\)

\(\{x,y\}\)

  

\(\{x',y,z\}\)

\(\{x',y\}\)

Notice that if \(A=\{a_1,a_2,a_3\}\), we are left with two tiers and the example is the same as Example 1 in Aygün and Sönmez (2012b).

Appendix B: An example for the operation of the supply chain cumulative offer algorithm

Consider \(A=A_1\cup A_2\cup A_3=\{a\}\cup \{b_1,b_2\}\cup \{c\}\) with contracts \({\mathcal {X}}=\{x,y,z,w\}\) where

$$\begin{aligned} x=(a,b_1),y=(a,b_2),z=(b_1,c),w=(b_2,c). \end{aligned}$$
Fig. 2
figure 2

The set of all possible contracts in Example B

Figure 2 illustrates all of the possible contracts that can be signed. Choice functions are as follows:

$$\begin{aligned} \begin{array}{lll} C_{a}(\{x, y\}) = \{x\} &{}\quad C_{b_1}(\{x,z\})=\{x,z\} &{} C_{c}(\{w\})=\{w\} \\ C_{a}(\{x\})=\{x\} &{}\quad C_{b_1}(X)=\emptyset , \forall X\subseteq {\mathcal {X}}{\setminus }\{x,z\} &{} C_{c}(X)=\emptyset , \forall X\subseteq {\mathcal {X}}{\setminus }\{w\} \\ C_{a}(\{y\})=\{y\} &{}\quad C_{b_2}(\{y,w\})=\{y,w\} &{} \\ C_{a}(X)=\emptyset ,\forall X\subseteq {\mathcal {X}}{\setminus }\{x,y\} &{}\quad C_{b_1}(X)=\emptyset , \forall X\subseteq {\mathcal {X}}{\setminus }\{x,z\} &{} \\ \end{array} \end{aligned}$$

The supply chain cumulative offer algorithm (SCCOA) proceeds as follows. Initialize the opportunity sets as \(O^{U}_{{\tilde{a}}}(1) = \emptyset , \forall {\tilde{a}} \in A\) and

$$\begin{aligned} O^{D}_{a}(1)&= \{x,y\} \\ O^{D}_{b_{1}}(1)&= \{z\} \\ O^{D}_{b_{2}}(1)&= \{w\} \\ O^{D}_{c}(1)&= \emptyset \end{aligned}$$

Let \(t:=1\) and suppose a makes the first offer,

$$\begin{aligned} Y(1) = D_{a}(C_{a}(O_{a}^{U}(1) \cup O_{a}^{D}(1))) = D_{a}(C_{a}(\emptyset \cup \{x,y\})) = \{x\} \end{aligned}$$

Then \(Y_{b_{1}}(1)=\{x\}\) and \(Y_{{\tilde{a}}}(1)=\emptyset \) for all \({\tilde{a}}\in A{\setminus }\{a,b_{1}\}\). The held sets are thus

$$\begin{aligned} H_{b_{1}}(1)&= U_{b_{1}}(C_{b_{1}}(O^{U}_{b_{1}}\cup \{x\} \cup \{z\})) = \{x\} \end{aligned}$$

and \(H_{{\tilde{a}}}(1)=\emptyset \) for all \({\tilde{a}}\in A{\setminus }\{b_{1}\}\).

Now update the opportunity sets. Since \(b_{1}\) is the only agent that receives an offer, \(O^{U}_{b_{1}}(t) = \{x\}\) and \(O^{U}_{{\tilde{a}}}(t)=O^{U}_{{\tilde{a}}}(t-1)=\emptyset \) for all \({\tilde{a}}\in A{\setminus }\{b_{1}\}\). Since no offers have been rejected, the downstream opportunity sets remain the same; that is, \(O^{D}_{{\tilde{a}}}(t)=O^{D}_{{\tilde{a}}}(t-1)\) for all \({\tilde{a}}\in A\).

Let \(t:=2\) and suppose \(b_{1}\) makes the next offer (the reader can verify that the allocation is the same regardless of who makes the offer). Then \(b_{1}\) offers

$$\begin{aligned} Y(2)=D_{b_{1}}(C_{b_{1}}(O_{b_{1}}^{U}(2)\cup O_{b_{1}}^{D}(2)))=D_{b_{1}}(C_{b_{1}}(\{x\}\cup \{x,z\}))=\{z\}. \end{aligned}$$

Then \(Y_{c}(2)=\{z\}\) and \(Y_{{\tilde{a}}}(2)=\emptyset \) for all other agents. The held sets are

$$\begin{aligned} H_{c}(2)=U_{c}(C_{c}(O_{c}^{U}(2)\cup \{z\}\cup O_{c}^{D}(2)))=\emptyset , \end{aligned}$$

that is, c rejects the offer from \(b_{1}\), and \(H_{{\tilde{a}}}(2)=H_{{\tilde{a}}}(1)\) for all other agents \({\tilde{a}}\).

Now update the opportunity sets. The only upstream opportunity set that is updated is \(O^{U}_{c}(t)=\{z\}\), since c is the only agent that receives an offer. Since \(b_{1}\)’s offer was rejected at \(t-1\), \(b_{1}\)’s downstream opportunity set is \(O^{D}_{b_{1}}(t)=\emptyset \) and \(O^{D}_{{\tilde{a}}}(t)=O^{D}_{{\tilde{a}}}(t-1)\) for all other agents.

Let \(t:=3\) and suppose \(b_{1}\) is chosen to make another offer. Since \(O^{D}_{b_{1}}=\emptyset \), agent \(b_{1}\) cannot make an offer. So we pick another agent to make an offer, say \(b_{2}\). Then \(b_{1}\) offers

$$\begin{aligned} Y(3)=D_{b_{1}}(C_{b_{1}}(O_{b_{1}}^{U}(3)\cup O_{b_{1}}^{D}(3))) = D_{b_{1}}(C_{b_{1}}(\emptyset \cup \{w\})) = \{w\}. \end{aligned}$$

Now agent c accepts the offer, \(H_{c}(3)=\{w\}\). Moreover, since \(b_{1}\)’s downstream opportunity set has changed, the set of contracts that \(b_{1}\) holds also changes:

$$\begin{aligned} H_{b_{1}}(3) = U_{b_{1}}(C_{b_{1}}(\{x\} \cup \emptyset )) = \emptyset \end{aligned}$$

Thus, c’s rejection of \(b_{1}\)’s offer triggers a rejection of a’s previously held downstream offer to \(b_{1}\). For the remaining agents, \(a,b_{2}\), their set of held contracts remains the same.

Now update the opportunity sets. Since c receives a new offer so \(O^{U}_{c}(t)=\{z,w\}\), while \(O^{U}_{{\tilde{a}}}(t)=O^{U}_{{\tilde{a}}}(t-1)\) for all other agents. On the other hand, a’s previously held offer is no longer being held by \(b_{1}\), a’s downstream opportunity set shrinks, \(O^{D}_{a}(5)=\{y\}\), while \(O^{D}_{{\tilde{a}}}(t)=O^{D}_{{\tilde{a}}}(t-1)\) for all other agents.

Let \(t:=4\) and suppose a makes an offer,

$$\begin{aligned} Y(4) = D_{a}(C_{a}(O_{a}^{U}(4) \cup O_{a}^{D}(4))) = \{y\} \end{aligned}$$

We have \(Y_{b_{2}}=\{y\}\) and \(Y_{{\tilde{a}}}=\emptyset \) for the remaining agents. Agent \(b_{2}\) accepts, so the held sets are \(H_{b_{2}}(4)=\{y\}\) and \(H_{{\tilde{a}}}(4)=H_{{\tilde{a}}}(3)\) for all other agents.

Now update the opportunity sets. Since \(b_{2}\) gets the sole offer, \(O^{U}_{b_{2}}(t)=\{y\}\) and \(O^{U}_{{\tilde{a}}}(t)=O^{U}_{{\tilde{a}}}(t-1)\) for all other agents. No contracts have been rejected downstream since \(\{x,z\}\) were rejected, so \(O^{D}_{{\tilde{a}}}(t)=O^{D}_{{\tilde{a}}}(t-1)\) for all agents.

Let \(t:=5\). Now, a and \(b_{2}\) have offers held and have no new offers to make. In addition, \(O^{D}_{b_{1}}(t)=O^{D}_{c}(t)=\emptyset \), so neither \(b_{1}\) or c have offers to make. Thus, \(H_{{\tilde{a}}}(t)=H_{{\tilde{a}}}(t-1)\), for all \({\tilde{a}}\in A\), and the algorithm terminates at step \(T:=5\).

The SCCOA terminates at this step since no downstream proposals are made and no upstream offers are rejected. The final allocation is \(\mu =\cup _{{\tilde{a}}\in A}H_{{\tilde{a}}}(T) = \{y,w\}\). The reader can easily verify that this allocation is a chain stable network.

Appendix C: Proofs

1.1 Lemmas

We introduce the lemmas that will be used in the proof of Theorem 1.

Lemma 1

Consider an agent \(a\in A\) who receives a proposal of contract z at step \(t < T\) in the algorithm. If agent a accepts the contract z at the last step T, then agent a does not reject the contract at any step \(t'\) for \(t \le t'\le T\).

Proof

Suppose agent a is proposed with a contract z at step \(t < T\). By construction of the algorithm, \(z\in O_{a}^{U}(t) \subseteq O_{a}^{U}(T)\). Note that

$$\begin{aligned} z\in O_{a}^{U}(t)\cup O_{a}^{D}(T) \subseteq O_{a}^{U}(t)\cup O_{a}^{D}(t), \end{aligned}$$
(1)

and

$$\begin{aligned} z\in O_{a}^{U}(t)\cup O_{a}^{D}(T)\subseteq O_{a}^{U}(T)\cup O_{a}^{D}(T). \end{aligned}$$
(2)

We first show that agent a accepts contract z at step t.

Suppose agent a rejects contract z at step t and accepts contract z at step T. Since agent a rejects contract z at step t, \(z\notin U_{a}\Big [C_{a}\Big (O_{a}^{U}(t)\cup O_{a}^{D}(t)\Big )\Big ]\). Cross-side complements and Eq. (1) imply that

$$\begin{aligned} z\notin U_{a}\Big [C_{a}\Big (O_{a}^{U}(t)\cup O_{a}^{D}(T)\Big )\Big ]. \end{aligned}$$

Moreover, same-sided substitutes and Eq. (2) imply that

$$\begin{aligned} z\notin \Big [C_{a}\Big (O_{a}^{U}(T)\cup O_{a}^{D}(T)\Big )\Big ]. \end{aligned}$$

This is a contradiction to the supposition that agent a accepts contract z at step T. Therefore, agent a accepts contract z at step t.

We now show that agent a does not reject contract z at any step \(t'\) for \(t\le t' \le T\).

We’ve already shown that agent a accepts contract z at step t. Consider a step \(t'\) with \(t\le t'\le T\). Cross-side complements imply

$$\begin{aligned} z\in O_{a}^{U}(T)\cup O_{a}^{D}(T)\subseteq O_{a}^{U}(T)\cup O_{a}^{D}(t'). \end{aligned}$$

Therefore, \(z\in U_{a}\Big [C_{a}\Big (O_{a}^{U}(T)\cup O_{a}^{D}(t')\Big )\Big ]\). Same-sided substitutes imply

$$\begin{aligned} z\in O_{a}^{U}(t')\cup O_{a}^{D}(t')\subseteq O_{a}^{U}(T)\cup O_{a}^{D}(T). \end{aligned}$$

Therefore, \(z\in U_{a}\Big [C_{a}(O_{a}^{U}(t')\cup O_{a}^{D}(t'))\Big ]\). Thus, agent a holds contract z at every step \(t'\) for \(t\le t'\le T\).

Lemma 2

Let \(\mu \) be the allocation produced by the algorithm. We have \(D_{a}(\mu (a)) = D_{a}(C_{a}(\mu ))\) for all \(a\in A\).

Proof

The statement is immediately true if \(a\in A_{K}\). In the following, we consider an agent \(a\in A{\setminus } A_{K}\). Note that \(D_{a}(C_{a}(\mu (a))) = D_{a}(C_{a}(\mu ))\subseteq D_{a}(\mu ) = D_{a}(\mu (a))\). The first equality is by IRC, and the second one is by definition.

We show that there does not exist a contract \(z\in D_{a}({\mathcal {X}})\) such that \(z\in D_{a}(\mu )\) and \(z\notin D_{a}(C_{a}(\mu ))\).

Suppose, on the contrary, that such a contract z exists, i.e., there exists \(z\in D_{a}({\mathcal {X}})\) such that \(z\in D_{a}(\mu )\) and \(z\notin D_{a}(C_{a}(\mu ))\). Let \(b\equiv B(z)\) be the buyer associated with contract z. Then, \(z\in \mu \) means that agent a proposes contract z to agent b at some step and that agent b holds contract z at step T. Let \(t < T\) be the step at which agent a proposes contract z to agent b. By Lemma 1, agent b holds contract z at step t and step T. Therefore, \(z\in O_{a}^{D}(T)\subseteq O_{a}^{D}(t)\). Note that

$$\begin{aligned} z\in O_{a}^{U}(t)\cup O_{a}^{D}(T)\subseteq O_{a}^{U}(t)\cup O_{a}^{D}(t), \end{aligned}$$
(3)

and

$$\begin{aligned} z\in O_{a}^{U}(t)\cup O_{a}^{D}(T)\subseteq O_{a}^{U}(T)\cup O_{a}^{D}(T). \end{aligned}$$
(4)

The fact that agent a proposes z to agent b at step t implies \(z\in D_{a}\Big [C_{a}\Big (O_{a}^{U}(t)\cup O_{a}^{D}(t)\Big )\Big ]\). Together with same-sided substitutes and Eq. (3), this implies \(z\in D_{a}\Big [C_{a}\Big (O_{a}^{U}(t)\cup O_{a}^{D}(T)\Big )\Big ]\). Moreover, together with cross-side complements and equation (4), this further implies that \(z\in D_{a}\Big [C_{a}\Big (O_{a}^{U}(T)\cup O_{a}^{D}(T)\Big )\Big ]\).

On the other hand, \(z\notin D_{a}(C_{a}(\mu ))\) means \(z\notin D_{a}\Big [C_{a}\Big (O_{a}^{U}(T)\cup O_{a}^{D}(T)\Big )\Big ]\). This is a contradiction. Therefore, such z does not exist.

Lemma 3

Let \(\mu \) be the allocation produced by the algorithm. We have \(U_{a}(\mu (a)) = U_{a}(C_{a}(O_{a}^{U}(T))\cup O_{a}^{D}(T))\) for all \(a\in A\).

Proof

The statement is immediately true if \(a\in A_{1}\). In the following, we consider an agent \(a\in A{\setminus } A_{1}\). Note that \(U_{a}(\mu ) = U_{a}(\mu (a))\) by definition, and \(U_{a}(C_{a}(\mu (a))) = U_{a}(C_{a}(\mu ))\) by IRC.

Moreover, \(U_{a}[U_{b}(C_{b}(O_{b}^{U}(T)\cup O_{b}^{D}(T)))] = \emptyset \) for all \(b\in A{\setminus } \{a\}\). Hence,

$$\begin{aligned} U_{a}(\mu )&= U_{a}[\bigcup _{b\in A} U_{a}(C_{a}(O_{a}^{U}(T)\cup O_{a}^{D}(T)))] \\&= U_{a}(C_{a}(O_{a}^{U}(T)\cup O_{a}^{D}(T))). \end{aligned}$$

\(\square \)

1.2 Proof of Theorem 1

We show that the cumulative offer algorithm produces a chain stable network.

First, note that by construction of the algorithm, any rejected contract is not proposed again in the algorithm. Since the set of contracts is finite, the algorithm terminates at a finite step.

Next, we show that the allocation produced by the algorithm, \(\mu \), is a chain stable network. There are two steps.

Step 1 \(\mu \) is individually rational.

Suppose \(C_{a}(\mu (a))\ne \mu (a)\) for some agent \(a\in A\). By Lemma 2, \(D_{a}(\mu (a)) = D_{a}(C_{a}(\mu ))\). Then, this implies \(U_{a}(C_{a}(\mu (a))) \ne U_{a}(\mu (a))\). Since \(U_{a}(C_{a}(\mu (a)))\subseteq U_{a}(\mu (a))\), this further implies that there exists a contract \(x\in \mu \) such that

$$\begin{aligned} x\in U_{a}(\mu (a)) \text{ and } x\notin U_{a}(C_{a}(\mu (a))). \end{aligned}$$
(5)

We show that x does not exist.

By Lemma 3, \(U_{a}(\mu (a)) = U_{a}(C_{a}(O_{a}^{U}(T)\cup O_{a}^{D}(T))\). Thus, Eq. (5) is equivalent to

$$\begin{aligned} x\in U_{a}(C_{a}(O_{a}^{U}(T)\cup O_{a}^{D}(T))) \text{ and } x\notin U_{a}[C_{a}(C_{a}(O_{a}^{U}(T)\cup O_{a}^{D}(T)))] \end{aligned}$$
(6)

Consider upstream contracts for a:

$$\begin{aligned}&U_{a}\Big [C_{a}\Big \{C_{a}(O_{a}^{U}(T)\cup O_{a}^{D}(T))\Big \}\Big ]\nonumber \\&\quad =U_{a}\Big [C_{a}\Big \{U_{a}\Big (C_{a}(O_{a}^{U}(T)\cup O_{a}^{D}(T))\Big )\cup D_{a}\Big (C_{a}(O_{a}^{U}(T)\cup O_{a}^{D}(T))\Big )\Big \}\Big ]\nonumber \\&\quad \subseteq U_{a}\Big [C_{a}\Big \{U_{a}\Big (C_{a}(O_{a}^{T}(T)\cup O_{a}^{D}(T))\Big )\cup D_{a}\Big (O_{a}^{U}(T)\cup O_{a}^{D}(T)\Big )\Big \}\Big ]\nonumber \\&\quad \subseteq U_{a}\Big [C_{a}\Big \{U_{a}\Big (O_{a}^{U}(T)\cup O_{a}^{D}(T)\Big )\cup D_{a}\Big (O_{a}^{U}(T)\cup O_{a}^{D}(T)\Big )\Big \}\Big ]\nonumber \\&\quad = U_{a}\Big [C_{a}\Big \{O_{a}^{U}(T)\cup O_{a}^{D}(T)\Big \}\Big ] \end{aligned}$$
(7)

Note that the first inclusion holds because of cross-sided complements. Equation (7) contradicts Eq. (6). Therefore, \(\mu \) is individually rational.

Step 2 \(\mu \) is not blocked by any chain.

Suppose \(\mu \) is blocked by the chain \({\mathbf {z}} = \{z_{1}, \ldots , z_{n}\}\). Let \(b_{i} \equiv B(z_{i})\) for \(i = 1, \ldots , n\). Consider agent \(b_{n}\) and define the following.

  1. 1.

    \(X_{b_{n}}' \equiv \mu (b_{n})\): the set of contracts held by \(b_{n}\) in \(\mu \).

  2. 2.

    \(X_{b_{n}}''\equiv C_{b_{n}}(\mu (b_{n})\cup \{z_{n}\})\): the new set of contracts held by \(b_{n}\).

Then, \(z_{n}\notin \mu \) and \(z_{n}\in C_{b_{n}}(\mu (b_{n})\cup \{z_{n}\})\) imply

$$\begin{aligned} U_{b_{n}}[X_{b_{n}}''] \ne U_{b_{n}}[C_{b_{n}}(X_{b_{n}}')]. \end{aligned}$$
(8)

By construction of the algorithm, \(U_{b_{n}}[X_{b_{n}}''] \subseteq O_{b_{n}}^{U}(T)\), since the contract in the blocking chain is proposed prior to step T. Moreover, \(D_{b_{n}}[X_{b_{n}}'']\subseteq O_{b_{n}}^{D}(T)\), since \(b_{n}\) does not take on new downstream contracts.Footnote 4 So, \(X_{b_{n}}''\subseteq O_{b_{n}}^{U}(T)\cup O_{b_{n}}^{D}(T)\). Therefore,

$$\begin{aligned} U_{b_{n}}[X_{b_{n}}'']= & {} U_{b_{n}}[C_{b_{n}}(X_{b_{n}}'\cup X_{b_{n}}'')] \end{aligned}$$
(9)
$$\begin{aligned}= & {} U_{b_{n}}[C_{b_{n}}(O_{b_{n}}(T)\cup D_{b_{n}}(T)\cup X_{b_{n}}'')] \end{aligned}$$
(10)
$$\begin{aligned}= & {} U_{b_{n}}[C_{b_{n}}(O_{b_{n}}(T)\cup D_{b_{n}}(T))] \end{aligned}$$
(11)
$$\begin{aligned}= & {} U_{b_{n}}[C_{b_{n}}(X_{b_{n}}')], \end{aligned}$$
(12)

contradicting Eq. (8). Note that

  1. 1.

    Equality (9) holds because \(U_{b_{n}}[X_{b_{n}}''] = U_{b_{n}}[C_{b_{n}}(X_{b_{n}}'')]\) and \(U_{b_{n}}[C_{b_{n}}(X_{b_{n}})''] = U_{b_{n}}[C_{b_{n}}(X_{b_{n}}'\cup X_{b_{n}}'')]\).

  2. 2.

    Equality (10) holds because

    $$\begin{aligned} X_{b_{n}}' = C_{b_{n}}(X_{b_{n}}') = C_{b_{n}}(O_{b_{n}}^{U}(T)\cup O_{b_{n}}^{D}(T)). \end{aligned}$$
    (13)
  3. 3.

    Equality (11) holds by Lemma 1, since \(C_{b_{n}}(O_{b_{n}}^{U}(T)\cup O_{b_{n}}^{D}(T))\cup X_{b_{n}}''\subseteq O_{b_{n}}^{U}(T)\cup O_{b_{n}}^{D}(T)\).

  4. 4.

    Equality (12) holds because Eq. (13) implies

    $$\begin{aligned} U_{b_{n}}[X_{b_{n}}'] = U_{b_{n}}[C_{b_{n}}(X_{b_{n}}')] = U_{b_{n}}[C_{b_{n}}(O_{b_{n}}^{U}(T)\cup O_{b_{n}}^{D}(T))]. \end{aligned}$$

Thus, \(\mu \) is a chain stable network.

1.3 Proof of Proposition 1

Consider \(Y \subset {\mathcal {X}}\) and \(z \in {\mathcal {X}}{\setminus } Y\) such that \(z \notin C(Y\cup \{z\})\). If \(z \in {\mathcal {X}}{\setminus } X_{a}\), then \(U(Y) = U(Y\cup \{z\})\) and \(D(Y) = D(Y\cup \{z\})\). Thus, by same-side substitutes and cross-side complements, we can show \(C(Y) = C(Y\cup \{z\})\).

In the following, assume that \(z \in X_{a}\) (without loss of generality assume \(z \in U_{a}\)). Then, \(U(Y) \subset U(Y\cup \{z\})\) and \(D(Y) = D(Y\cup \{z\})\). Thus, same-sided substitutes implies \(U(C(Y\cup \{z\}))\). Therefore, \(|U(C(Y\cup \{z\}))| \le |U(C(Y))|\) and \(|D(C(Y))| \le |D(C(Y\cup \{z\}))|\). On the other hand, by the Law of Aggregate Demand, we have

$$\begin{aligned} 0 \ge |U(C(Y\cup \{z\}))| - |U(C(Y))| \ge |D(C(Y\cup \{z\}))| - |D(C(Y))| \ge 0 \end{aligned}$$

Thus, \(|U(C(Y\cup \{z\}))| = |U(C(Y))|\) and \(|D(C(Y))| = |D(C(Y\cup \{z\}))|\). We therefore have \(U(C(Y)) = U(C(Y\cup \{z\}))\), \(D(C(Y)) = D(C(Y\cup \{z\}))\), and \(C(Y) = C(Y\cup \{z\})\). This implies that choice functions satisfy the IRC condition.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Fung, J.F., Hsu, CL. A cumulative offer process for supply chain networks. Rev Econ Design 25, 93–109 (2021). https://doi.org/10.1007/s10058-020-00238-z

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10058-020-00238-z

Keywords

JEL Classification

Navigation