The capacity to maintain stability in a system relies on the components which make up the system. This study explores the relationship between component-level resilience and system-level resilience with the aim of identifying policies which foster system-level resilience in situations where existing incentives might undermine it. We use an abstract model of interacting specialized resource users and producers which can be parameterized to represent specific real systems. We want to understand how features, such as stockpiles, influence system versus component resilience. Systems are subject to perturbations of varying intensity and frequency. For our study, we create a simplified economy in which an inventory carrying cost is imposed to incentivize smaller inventories and examine how components with varying inventory levels compete in environments subject to periods of resource scarcity. The results show that policies requiring larger inventories foster higher component-level resilience but do not foster higher system-level resilience. Inventory carrying costs reduce production efficiency as inventory sizes increase. JIT inventory strategies improve production efficiency but do not afford any buffer against future uncertainty of resource availability.

1. Introduction

Resilience is the ability of a system to recover from shocks. Economic turmoil, political instability, and natural disasters are examples of shocks which can stress or destabilize a system. Uncertain future availability of critical resources is a concern to policy makers [1, 2]. Understanding and fostering the resilience of critical systems, such as infrastructures, is a key public policy goal of US Presidential Policy Directive 21 (PPD-21) [3]. Although resilience can be measured using the movement of a system indicator, such as the flow of a key resource through the system [4], the resilience of a system is an emergent property of the resilience of its components: system resilience depends on how the components interact [5, 6], not simply on their individual resilience metrics. Policies which optimize component resilience may not optimize system resilience, and vice versa [7].

We explore this tradeoff using a simple model representing two kinds of interdependent entities, each of which consumes the distinct resource produced by the other. Entities keep inventories of their input and output resources that can be used to buffer periods of scarcity. For each kind of producer, individual entities keep different input inventory levels. Larger inventories are costlier to maintain but provide a better buffer against supply disruptions. Competition among individual entities forces a tradeoff between inventory cost and benefit [8]. The frequency, intensity, and duration of random shocks arriving from the environment determine the outcome of this competition.

Agent-based models (ABMs) are an effective means of modeling, understanding, and measuring resilience of complex systems [911]. ABMs allow for the simulation of actions and interactions among autonomous agents (entities) and their effects on the system as a whole [12]. Agents have adaptive processes and interact with other agents in the system resulting in behavior that is complex and difficult to anticipate [13]. This modeling methodology lends itself well to understanding how complex adaptive systems work, the interdependencies of system components, and how adaptive entities respond to endogenous and exogenous changes [14].

2. Overview

In this study, we utilized a hybrid model using both system dynamics and agent-based modeling components to represent production and consumption sectors, resource flows, and market exchanges among interacting specialists (entities) in a system. Developed at Sandia National Laboratories to investigate complex adaptive systems (CAS) [15], the exchange model (ExM) provides a framework to abstractly represent systems in which interacting specialists (entities) produce and consume resources that flow among entities via continuous markets. Resources are traded via a double auction market mechanism [16].

Using this model, we explored the relationship between system-level resilience and component-level resilience with the aim of identifying policies that foster system-level resilience in situations where individual incentives might undermine it. We want to understand what features of a system, such as input resource levels, determine the comparative effectiveness of system-level resilience policies. In this study, system-level resilience is defined as the ability for the system to maintain critical resource flows while being subjected to disruptions in resource availability [17, 18]. Component-level resilience is defined as the ability for entities to survive periods of resource scarcity.

We first give a brief overview of the model. Next, we describe the specific configuration used to explore the performance of alternative resource storage strategies. We present and discuss our simulation results and describe outstanding questions to be addressed.

3. Model Description

The exchange model (ExM) combines system dynamics and agent-based modeling to represent production and consumption sectors, resource flows, and market exchanges among interacting specialists (entities) in a system (see Figure 1). All entities have a homeostatic process which maintains “health” via the consumption of resources. The production of resources is driven by the consumption of other resources. Entities store both consumed and produced resources and control those resource levels through interactions with markets. Markets facilitate the exchange of resources by using a continuous double auction algorithm to match bids and offers. Each market manages the exchange of a single resource. The price of a proposal (bid or offer) is adaptive and represents the relative scarcity or abundance experienced by the entity creating the proposal. The environment determines the availability of resources that entities require for survival. Entities use environmental signals to determine the amount of resources to consume and/or produce.

3.1. Entity

Entities maintain their health via a homeostatic process involving the consumption of specific resources. Parameters of the functions governing consumption, production, and health can be varied to reflect various types of real systems. An entity’s behavior is determined by a set of coupled nonlinear differential equations that govern its state variables. These comprise the amounts of consumed and produced resources held by the entity and an index of the entity’s internal condition called health. An entity is considered viable if its health is above an arbitrary value of 0.1.

Consumption of some set of resources is required to maintain health at a nominal level , which otherwise decays with a time constant . Excess consumption can produce some surplus of health but with diminishing returns. There is some substitutability among resources so that overconsumption of one resource can compensate for underconsumption of another, but some consumption of each resource is required. If the consumption rate of any resource falls to zero then health is ultimately driven to zero. The following formulation reflects these considerations: where is the number of resources consumed in the homeostatic process and is the power of the dependence of health on consumption ( leads to diminishing returns). The entities in this analysis all consume a single resource, so that (1) reduces to .

3.2. Consumption Rate

The consumption rate of a resource by the homeostatic process depends on two factors: the current resource level in comparison to its nominal level or maintenance level and the entity’s relative health: varies monotonically with the resource level: it must be zero when the level is zero, it might increase somewhat if the resource level is unusually high, and should be equal to 1 when the resource level is . Many functions have these properties. A simple logarithmic relationship allows consumption to increase with excess inventory and allows us to specify the flatness of the response via the elasticity parameter : Entities consume resources to maintain health; when health declines, entities seek to restore it by increasing consumption. Nominal levels of health lead to nominal levels of consumption, and elevated consumption rates are limited by some maximum value. A logistic function defined by maximum and minimum relative consumption rates and by the relative health level leading to the midpoint of enhanced consumption captures these qualities: where .

It is convenient to specify the maintenance level in terms of the nominal consumption rate and a time constant representing the amount of time the entity could survive on stored resources:

3.3. Production Rate

Resource production nominally occurs at a rate of , but is influenced by health and by the current level of the produced resource: is designed so that accumulation of excess resources will suppress production while resource deficits will tend to increase production. We assume there is some limit to possible increases in production rate and that production will be driven to zero by sufficiently large output resource levels. We use a sigmoid function to describe this effect: is a relative inventory level corresponding to excess resource, and is an elasticity parameter. These parameters are specified indirectly via two more natural measures: the relative production rate induced when the resource is completely depleted and the relative resource level at which relative production will be reduced to 1/2 because of resource accumulation: is defined so that production can increase, up to some limit, when health exceeds its nominal value . Production falls to zero faster than health in that there is some nonzero health level required before substantial production can occur. A sigmoid function fits these criteria: where is the maximum relative production that can be achieved if health becomes large, and is an elasticity parameter that describes how abruptly production changes with health. The elasticity parameter is derived from the more intuitive parameter which is the relative health level required for a relative production rate of 1/2:

For both consumed and produced resources, entities have a desired inventory level Lmaint (which may differ among resources). This inventory is specified in terms of the time it represents given the nominal consumption or production rate for the resource. A large inventory provides insulation against variations in external conditions. It can delay an entity’s adjustment to such changes and may incur a cost, represented in the model as first-order decay.

Each entity’s resource level evolves under the influence of consumption, production, and decay processes: where is the decay rate for the resource. Note that any particular resource in this analysis is either produced or consumed but not both, so that only one of and is nonzero. Equations (12) and (1) are integrated to update entities’ states between discrete state change events imposed by the environment. Two kinds of discrete events operate: market transactions, which exchange finite resource quantities between entities, and external disruptions that suddenly remove resources from an entity.

Entities exchange resources with one another via a continuous double auction market. They adjust their bid and offer prices based on their resource levels, their money level, and recent trends in these levels. An entity’s health will decline if it is unable to obtain its required input resources from the market. There are two primary reasons an entity would not be able to obtain the resources it needs. First, the resource is not available in the market due to either scarcity or the unavailability of the entity producing the resource. Secondly, the entity is not able to sell its outputs and generate the money it needs to purchase its inputs.

Made up of numerous sorts of entities with complementary requirements, the environment determines whether entities can sell produced resources to acquire the necessary resource inputs on sustainable terms. The flow of resources in an environment can be disrupted by shocks to resource stores in some parts of the system. Shocks resonate through the system via dependencies generated by the complementary requirements.

3.4. Production Efficiency

An entity’s health influences its potential production rate via (9). When health exceeds its nominal value of , production can increase. Conversely, as an entity’s health declines (due to a scarcity of input resources) the entity can find a new operating equilibrium by running leaner at a lower health value. If the stress of scarcity becomes too great, the entity’s health value and production rate will decline rapidly. For a single input/single output entity, such as we considered here, we can define efficiency as the ratio of production rate to consumption rate in equilibrium. This efficiency is a unimodal function of health, having a peak value typically less than . The health level at peak efficiency can be approximated by neglecting the influence of output resource levels on production:

4. Model Configuration

For the purpose of this study, ExM is configured with two complementary types of entities: A Producer, B Producer, and two types of resources: A, B (Figure 2). The system includes 10 entities of each type. The parameters for an entity type can be constant or have a probability distribution. When a new entity is created, its parameter values are sampled from any distributions defined for its type. A Producer nominally produces 1 unit of resource A for each 1 unit of resource B consumed. B Producer nominally produces 1 unit of resource B for each 1 unit of resource A consumed. We use this simple structure to explore the relationship between component-level resilience and system-level resilience by focusing on B Producers. We allow B Producers’ resource stock inventories (determined by the parameter Lmaint for the consumer resource A) to differ from one another, representing an inventory level decision made individually by each B Producer. All other parameters have a common value for all B Producers. System-level performance is measured by the total production of B by all B Producers. We quantify component-level resilience using the health of B Producers and their death rate.

To study how different configurations of B Producer and environments affect system performance, we configure the B Producer’s health to be highly sensitive to its consumption of A. We disrupt the availability of resource A and measure how the scarcity of resource A affects the health of B Producers and the availability of resource B. We configure A Producers to ensure a constant system demand of resource B. B Producers who are not able to obtain the input resources they require via either the market or internal stores decline in health until they are no longer viable. They are then replaced by another B Producer having a different (randomly chosen) input resource buffer size. In this way, the population of B Producers evolves to withstand the particular frequency and intensity of shortfalls in resource A that define the environment.

We compare two different strategies for managing B Producers: adaptation and maximum inventory. The adaptation strategy allows B Producers to carry random local inventory levels ranging from small to very large. The maximum inventory strategy constrains producers to maintain large inventory levels (ensuring a high degree of component-level resilience for B Producers). Inventory provides protection against episodes of input scarcity. We impose an inventory carrying cost to B Producers as a loss rate proportional to the inventory level. This abstractly represents the carrying costs for maintaining an inventory, such as physical storage, inventory taxes, and expiration of goods. The higher an entity’s tcstore the higher the cost that entity pays for having a larger inventory. The inventory carrying cost generates selective pressures for producers to minimize their values. A specific inventory level for a B Producer therefore represents a choice between the cost of random scarcity episodes and the cost of maintaining a buffer.

4.1. Adaptation Strategy

The adaptation strategy requires B Producers to adapt to their environment via a replacement process. An entity that is not viable in the current environment (due to a lack of consumable input resources) is replaced by one with a different value of the parameter. Entities with a small will have a just-in-time inventory, or minimum inventory, management strategy, whereas a large represents a maximum inventory management strategy.

4.2. Maximum Inventory Strategy

The maximum inventory strategy requires B Producers to maintain a very large inventory compared to their consumption rate. All B Producers utilizing this strategy have large values. This strategy reflects domains in which large inventory levels are required due to either regulation or environmental conditions. Many critical industries, such as energy production, are required to maintain large inventories of key resources to provide higher system resilience.

4.3. Study

The inventory cost for B Producers incentivizes smaller inventories at the same time that the environment is subject to periods of scarcity of resource A, which incentivizes B Producer entities to maintain larger inventories. The goal is to compare the “adaptive” and “maximum inventory” management strategies to determine which strategy confers the highest component-level resilience and which strategy conveys the highest system-level resilience.

4.4. Scarcity

To study the relationship between component-level resilience and system-level resilience, we created an environment in which B Producers experience scarcity. We script a disruption in the availability of resource A by suddenly suspending the production of A Producers. The disruption of resource A causes B Producers to rely on their local A inventories for production. When this input resource is scarce, there is selective pressure on B Producers to maintain larger resource inventories (thus higher tcstores). We model this scarcity by configuring a perturbation to stop production of A at simulation time 10,000 through simulation time 11,000. Time, as defined in our model, is unitless (without a specific measure); we use a value of 1000 to define the basic time scale for the model.

4.5. Simulation Scenario

We ran each simulation for a total simulation time of 20,000. We imposed an inventory carrying cost of 2% per unit time against B Producers storing resource A. For each inventory management environment we ran two simulations, one for each strategy. Each case was repeated 10 times, using a different random number seed. The simulation parameters for each environment are listed in Table 1.

Each simulation is initiated with a population of 10 A Producers and 10 B Producers. During the simulation, B Producers which are not viable are replaced with new realizations from the B Producer factory’s parameter descriptions. This replacement allows us to understand the selection of tcstore values by various environments.

For each simulation, we quantify component-level resilience and system-level resilience. Component-level resilience is quantified by measuring the average health change over time of the B Producers after the disruption. System-level resilience is quantified by measuring the change in volume of resource B flowing through the market (for which there is a constant demand from the stable population of A Producers).

5. Analysis

Table 2 describes the periods and simulation times we use to discuss the results of our analysis.

A plot of B Producer’s health trajectories over time is shown in Figure 3. The results are differentiated by the two strategies under consideration. The upper plot illustrates the adaptation strategy and the lower plot the maximum inventory. The shading of the entities is based on their inventory size. The darkest entities have the largest inventories.

The upper time series shows that entities with a smaller tcstore values have higher health in the predisruption period of the simulation. This is intuitive due to the 2% carrying cost of holding inventory. Entities have to compete with one another for resources leading to less efficient entities having lower health values. Entities with larger tcstores are less efficient due to the higher costs associated with maintaining a larger inventory. In the beginning of the disruption period, entities with higher tcstores are healthier. The period of scarcity causes entities with the lowest tcstores to become unviable and they are replaced with new realizations. A period of recovery follows the period of scarcity where entities with larger tcstores are again less efficient and the larger tcstore entities are outcompeted by entities with smaller tcstores. The population composition has considerable inertia and has not returned to its predisruption state by the end of the simulation. Many of the entities introduced during the disruption and thereafter are not viable. A total of 20 entities have been replaced by the end of the simulation. Figure 4 shows the number of expired entities in each 1000-unit time period. All entities survive when the maximum inventory strategy is used.

The lower time series shows for the maximum inventory strategy all entities have similar health values due to the lack of diversity in the entities’ parameters. As the period of scarcity begins, the entities’ health values move down together as they experience the scarcity of their input resource and rely on their local inventory levels to maintain their consumption of resource A.

Comparing the health trajectories of each strategy allows us to see the component-level resilience of the strategies. A strategy requiring a larger inventory lends itself to the B Producers being able to withstand a period of scarcity more effectively than B Producers with smaller inventories; we can see this in the gentle slope of the health of B Producers in the lower time series during the period of scarcity compared to B Producers in the upper time series. However, the additional inventory leads to lower overall health in the maximum inventory strategy due to the associated carrying costs. Also note that entities which use an adaptive inventory policy have a faster recovery: those entities do not have to rebuild large inventories which were drawn down during the period of scarcity.

The adaptation strategy produces the highest average health values in the predisruption period. This finding is consistent with the efficiencies gained by some entities in the system having lower inventories in an environment with a 2% inventory carrying cost over time. During the disruption and early recovery periods, the adaptation strategy produces lower health values than the maximum inventory strategy. This effect is because the entities with smaller inventories are more severely impacted than entities with larger inventories. During the period of scarcity, entities rely on their local inventories of A to sustain their health, while adjusting their bids to the market to buy more resource A. Entities with smaller inventories cannot compete with entities with larger inventories during the recovery, because their health and resource levels became too low. During the recovery, entities with smaller inventories died off and were replaced. An entity’s death is delayed by any remaining input resource and by the time constant for health decay , set at 1000. The speed of recovery is influenced by the health of entities and their ability to acquire inputs and sell their outputs. Entities with larger inventories are better able to weather the disruption and are in a more competitive position in the recovery.

The maximum inventory strategy produces the highest average health values during the disruption and early recovery periods due to the larger inventories which buffer against the period of scarcity.

Figure 5 shows an indicator of system-level performance, the total flow of resource B between the entity types via the B Market, for the two strategies. The results of 10 separate simulation runs are shown, each using a different random number seed. Lines are drawn through average 100 values. Variation among simulations is much greater for the adaptation strategy due to the greater spread in the distribution of .

The upper plot shows that there is an initial dampening effect on the amount of resources being produced due to the sharp decline in health with the adaptive strategy. After this initial decrease, production recovers followed by a second decrease. Finally, there is a slow gain in production of resource B as the entities recover or are replaced. The first dip in the volume of B correlates with the scarcity of resource A. Once availability of resource A resumes, there is pent-up demand for the resource and there is a substantial increase of resource B sales to support the purchases of resource A. After the initial sell-off of Producer B’s output inventory, there is a correction followed by a steady increase in the availability of resource B.

The lower plot (illustrating resource B availability over time via the maximum inventory strategy) shows an amplified effect on the amount of resources being produced considering the slight decline in health during the period of disruption and early recovery. These effects were puzzling at first, but investigation revealed two interactions in the model which caused this phenomenon. The inventory carrying cost in this strategy stressed entities, driving them to operate at higher production efficiencies to offset the cost of maintaining a large inventory. The lower health values lead to higher production efficiencies. Although operating at peak efficiency when the period of disruption begins and buffered from the shock of disruption by their inventory stocks, the entities are driven to lower production efficiency.

The maximum inventory strategy is designed to be resilient during periods of scarcity. This resilience causes the entities using this strategy to be less efficient in periods without scarcity. This strategy also causes B Producers to undergo a more severe drop in production during disruption. As the entities experience scarcity, they utilize their local resource buffers to mitigate the loss of resources from the market. The experience of scarcity prompts B Producers to reduce consumption of the scarce resource A causing a reduction in the production of resource B. For this same reason, recovery of entities using the maximum inventory strategy is quicker compared to the adaptation strategy because production gradually returns to predisruption levels.

6. Discussion

Neither strategy is more effective in fostering both high component-level resilience and high system-level resilience. There are tradeoffs to both waiting on adaption to select the most appropriate components for a given environment and a policy of maximum inventory which buffers against uncertainty in future resource availability. The adaptation strategy fostered high system-level resilience but had lower component-level resilience compared to the maximum inventory strategy which fostered high component-level resilience but had lower system-level resilience.

The adaptation strategy can reduce the impact of carrying costs by using smaller inventories, leading to more efficient production of resources. During the resource shock, entities with larger inventories were healthier and able to use their local resource buffers to absorb the shock; the health of entities with small inventories declined. Some failed and were replaced with new entities. The diversity of inventory sizes and replacement of failed entities produced lower component-level resilience and higher system-level resilience than the maximum inventory strategy.

A maximum inventory policy is very effective at providing a high degree of component-level resilience. Larger inventories are an effective buffer against disruptions in resource availability. Where the maximum inventory did not do well was in its ability to maintain production. The stress of maintaining larger inventories drove entities in this strategy to a leaner, more efficient production rate in the predisruption period at the cost of lower health values for the individual entities. Once the disruption occurred, the ensuing scarcity combined with the previous system stress of the carrying costs on a large inventory, causing a large drop in production as entities lose production efficiency.

6.1. Interpretation for Real Systems

Adaptation is more efficient in systems where replacement entities can be readily introduced. This implies a low cost of entry and low level of brand differentiation or where transactions are not sensitive to consumer confidence. A system in which entities select their own strategies provides less component-level resilience overall, but the system is more efficient and periods of scarcity are less severe because all entities do not experience scarcity in the same way and new entities emerge to help the system recover.

In industries with high consumer visibility and high customer confidence in the individual institution, a high level of component-level resilience is necessary and would benefit from a policy requiring larger inventories. However, in sectors where consumer confidence depends upon the availability of a resource and not an entity, then focusing on system resilience through local adaptation would be a more beneficial and cost effective policy.

6.2. Summary and Next Steps

We have used a simple configuration of a production network dynamics model to study the comparative performance, from both a component and system view, of two strategies governing component inventory management. We find that encouraging adaptation can foster system-level efficiency while making components less resilient, whereas forcing components to hold inventory against shocks can help them survive, but at a cost of reduced efficiency at both the component and system level. Future work will explore a broader scope for component variability and more complex interaction networks.

Conflict of Interests

The authors declare that no conflict of interests exist with regard to the publication of this paper.


Sandia National Laboratories is a multiprogram laboratory managed and operated by Sandia Corporation, a wholly owned subsidiary of Lockheed Martin Corporation, for the U.S. Department of Energy’s National Nuclear Security Administration, under contract DE-AC04-94AL85000. SAND2014-20480 J.