System thinking Basics of system theory System dynamics in business strategy Luca Mari Università Cattaneo – LIUC lmari@liuc.it 11-14 December 2007 Context: specific aims and contents The lectures System thinking, thinking Basics of system theory, theory and System dynamics in business strategy aim at introducing: – system thinking as a conceptual means to deal with complex behavior of systems – system theory as a formal means to deal with complex behavior of systems, in the perspective of its simulation – system dynamics as a tool for modeling business strategies, with emphasis on learning organizations and modeling uncertainties These topics will be taught with a learning-by-doing, bottom-up, interactive approach, in which the learning process is driven by problem solving tasks. The following slides can only present the general structure of the contents that will be dealt with adaptively according to the actual modeling and implementation capabilities of the class. In particular, the exercises will be worked out interactively, so to identify, formalize and validate the solutions in a cooperative way. Introduction “The concept of a dynamical system has its origins in Newtonian mechanics. There, as in other natural sciences and engineering disciplines, the evolution rule of dynamical systems is given implicitly by a relation that gives the state of the system only a short time into the future. (The relation is either a differential equation or difference equation.) To determine the state for all future times requires iterating the relation many times — each advancing time a small step. The iteration procedure is referred to as solving the system or integrating the system. Once the system can be solved, given an initial point it is possible to determine all its future points, a collection known as a trajectory or orbit. Before the advent of fast computing machines, solving a dynamical system required sophisticated mathematical techniques and could only be accomplished for a small class of dynamical systems. Numerical methods executed on computers have simplified the task of determining the orbits of a dynamical system.” [wikipedia: “Dynamic system”] Formalization? Facing a general objection “It is generally not possible to formalize economic strategies in full, and as a result a business strategy is only a guide to action, which neither states in detail the conditions to be considered nor the action to be taken. This may stem from a variety of causes, but one of the most striking is the possible modification of the strategy sets during the execution of the game. For example, this may result from a new invention or scientific discovery which opens a new range of activities to a producer. This type of limitation seems to be regarded by many social scientists as a terrible inadequacy, and yet it is a common difficulty in all of physical science. It is analogous to a physical prediction based on boundary conditions which may be subject to change during the process, either by external causes or through the very process itself. The prediction will only be valid to the extent that the conditions are not changed, yet such predictions are useful and are used even when it is uncertain whether the assumed invariance actually holds. In many ways, social scientists seem to want from a mathematical model more comprehensive predictions of complex social phenomena than have ever been possible in applied physics and engineering; it is almost certain that their desires will never be fulfilled, and so either their aspirations will be changed or formal deductive systems will be discredited for them.” [R. Duncan Luce, H. Raiffa] “The organizational revolution” “The barest essential of any organization, whether as simple as the thermostat or as complex as the animal body or human society, is a control mechanism consisting of a system of communication and transformation. It consists, first of all, of receptors of information (thermometers, sense organs, salesmen, operators, spies). They collect information about the environment and transmit it over a communications system (nerves, speech, letters) to an executive (furnace control, central nervous system, manager) whose business is to take the information which he (or it) receives and transform it into instructions. These are then communicated over a further communications system to effectors (furnace, muscles, workmen, soldiers) who act in some way to change the environment. The change in the environment is picked up by the receptors and the whole process is repeated endlessly. What the receptors pick up is information about divergence of the environment from some condition which is regarded as right, proper, or normal. If the machinery is operating correctly, this information will be transmitted accurately to the executive, who will in turn transform it into the “right” instructions to the effectors, who will receive these instructions correctly and put them into effect. The result if their action will be to change the environment in such a way as to diminish the divergence between the actual condition of the environment and the condition which is regarded as ideal. If in fact the divergence is diminished, this information will be transmitted to the executive and the former policy will be continued. If in fact the divergence is increased, or is unchanged, or is not diminished sufficiently to produce satisfaction, this information also will be transmitted to the executive, who will be faced with the problem of altering his instructions in order to provide for different ways of affecting the environment.” [K.E.Boulding] “The organizational revolution” /2 From the Boulding’s schema, organizational problems can arise relating to: • receptors, which could generate inaccurate or even false information • communication systems among receptors and executives, “frequently the weakest link in social organizations” because “communications are generally organized down, to carry messages from higher to lower levels of the hierarchy; they are not usually so well organized in the upward direction” • executives, in particular because they are in charge of defining the “conditions which are regarded as right, proper, or normal”, but they could be wrong in this decision • communication systems among executives and effectors, … • effectors, which could not operate according to the “right” instructions, or could induce side effects in their intervention … and finally everything could work properly but in too late… Description, prediction, decision The prediction of future events is a fundamental capability, and it is exploited to make decisions in / about complex and / or uncertain situations Hence, prediction tools are critical components of many decision support systems The rule that, explicitly or not, is usually adopted is based on a principle of historical regularity: 1. the observability of a phenomenon at a (generic) time t is assumed, obs(t)X, being X is the description resulting from the observation 2. if for “reasonably many” times ti of the past obs(ti)=X and obs(ti+∆t)=Y, since obs(tNOW)=X, it is plausible that obs(tNOW+∆t)=Y A decision on the phenomenon can be made even though tNOW+∆t is in the (next) future and therefore obs(tNOW+∆t) cannot be empirically performed In this general modeling time is THE independent variable of the dynamic system, on which all other variables depend (“any variable could be in principle controlled but time”) Paradigms of complexity: pendulums vs. clouds The principle of historical regularity can be applied to different systems with different reliability / effectiveness: pendulums vs. clouds (K.R.Popper) “We live in a planet that is a rather cold body, and many of the natural systems we observe are close to a condition of stable equilibrium. Hence, their behavior is usually considered ‘almost’ linear, and therefore ‘almost’ regular. This has led us to recognize the existence of time invariant ‘laws of nature’ which can be described in mathematical terms.” [C.S.Bertuglia, F.Vaio (LM translation)] informational physical social systems • Determinism: systems (approximated as) simple both in structure (problem of the n >2 bodies) and in behavior (hypothesis of linearity) • Statistical indeterminism: systems with many non interacting components (hypothesis of perfect gas) and characterized only by statistical quantities (thermodynamics) • Quantum indeterminism: … • Deterministic chaos: … A glimpse to the “classical” paradigm In their development, physical sciences and technology have adopted very effective prediction tools for pendulum-like systems: paradigmatic is the differential calculus, at the basis of the Newtonian mechanics A classical example is the second principle of Dynamics, usually written: F=ma or a=F/m (a force F applied to a body of mass m generates an acceleration a) It is usually assumed that during the experiment m is constant, while F, and thus a, can change: a(t) = F(t)/m input: F(t) m output: a(t) The system behavior is characterized by the three quantities F, m, and a, whose mutual dependence can be visualized in a graph such as: F m a which represents the “qualitative” component of the previous equation From qualitative to quantitative modeling Each node of the graph represents a quantity considered relevant to describe the behavior of the system: with each node a quantitative expression can be associated, which allows to “automatically compute the graph”, i.e., simulate the system behavior For example: so that: sin(t) F • F is exogenous (input) variable a F/m • m is a constant 3 m • a is dependent variable This representation implies a computation model such that: • a can be computed only after both F and m have been computed • F and m can be computed in parallel To execute the simulation the time domain must be specified (initial and final time, whether continuous or discrete time, and in the latter case ∆t) System modeling by directed graphs From conceptual modeling to simulation A (top-down, from qualitative to quantitative) procedure: • identify the relevant properties / quantities draw graph nodes • identify the relations among the quantities draw graph arrows • identify the quantitative expressions of the relations make graph computable • execute the simulation compute the graph • analyze / validate the results and modify / refine the model if / as required Note: the first, general, step could be: • identify the possible subsystems and their relations; for each of such subsystems repeat the procedure In the following we will consider only systems whose behavior has a (relatively) low degree of complexity, so that they can be analyzed as single entities An introduction-by-example to STGraph A software tool for modeling and simulating dynamic systems control panel of simulation input node constant node output node chart (output widget) node editor case-sensitive functional language current value of the selected node model editor Note: time is the system variable for t What is STGraph? STGraph is a Java simulation application and engine implementing the state-variable approach to System Theory; its meta-model is at a higher level (more specific to simulation) than a programming language such as MatLab and a spreadsheet such as Excel, but at a lower level (more generally applicable) than simulators based on System Dynamics such as PowerSim or Stella and dedicated simulators such as Arena It is based on a configurable multi-language GUI with point-and-click + drag-and-drop support It includes a functional, weakly typed language by which the expressions to be computed in a simulation are defined in a polymorphic way, with transparent handling and conversion between scalars and vectors It is an on-going project, with many features still to be designed or under implementation (and surely a zillion of bugs still to be identified and removed…) It exploits some open source libraries, and in particular JGraph (www.jgraph.org), Spring (www.springframework.org), and a customized version of JEP (www.singularsys.com/jep) Its (open source) licensing model is still under definition, but it is already freely downloadable from http://www.liuc.it/persone/lmari/stgraph The same site contains some documentation on the structure and the usage of STGraph. Combinatorial models are not enough The behavior of a system modeled as out(t)=f(in(t)) is synchronous: its output out(t) depends instantaneously on the combination f of its input in(t) and is completely determined by the input itself Such systems are modeled as having not memory, being not adaptive, having not learning capabilities nor aging effects Back to F=ma, the usual interest is more on the position p(t) determined by the force F(t) than on a(t) Therefore the previous algebraic equation can be re-written: d 2 p (t ) F (t ) = 2 dt m a second-order ordinary differential equation (ODE) Derivatives express the information on the “local change” of a function: time derivatives are thus the basic tools for prediction But how can this ODE but solved (= integrated) in the case of complex inputs? A general technique for numerical integration The behavior of a system modeled as a nth-order ODE can be re-expressed as a system of n 1st order ODE by simply introducing n-1 intermediate variables (in this case v(t)=dp(t)/dt ) so that a(t) = F(t)/m is equivalent to: dp (t ) dt = v(t ) dv(t ) F (t ) = m dt and in general to: dx i (t ) = f i ( x1 (t ),..., x n (t )) dt called the (continuous-time, local) canonical representation of the behavior of a dynamic system If each derivative is approximated by its incremental ratio: dx(t ) x(t + ∆t ) − x(t ) ≈ dt ∆t the system becomes: x i (t + ∆t ) = xi (t ) + f i ( x1 (t ),..., x n (t ))∆t the discrete-time, local canonical representation, which can be easily modeled and then simulated An introduction-by-example to STGraph /2 state nodes state node editor [fma2.stg] initial state state transition Notes: • timeD is the system variable for ∆t • this is the system variable for the current value of this state variable A note on the STGraph meta-model The hypothesis underlying the so-called state-variable approach to System Theory is that the behavior of a system can be fully characterized by its state variables Accordingly, STGraph supports two node types: • auxiliary nodes, each of them modeling a combinatorial system, whose value synchronously depends only on its inputs, if any, as formalized by an output function η such that value(t)=η(input(t)) (an auxiliary node with no inputs is a constant node) (an auxiliary node with no incoming arrows is an input node) • state nodes, each of them modeling a sequential system, whose value is iteratively computed by its inputs, if any, and its previous value; the behavior of a state node is formalized by: – an initial value, nodeValue(t0) – a state transition function ϕ such that state(t+∆t)=ϕ(state(t),input(t)) – an optional output function η such that value(t)=η(state(t),input(t)) (if not specified, the default is value(t)=state(t)) Both auxiliary and state nodes can be flagged to be output (i.e., observable) nodes The graph computation is (logically) parallel, with auto synchronization Some (simple) examples / exercises 1. Modify the previous model to the 2 dimensional case of a body freely falling in a gravitational field [fma2b.stg] 2. Modify the previous model by introducing a y=0 impact check [fma2c.stg] [fma2d.stg] 3. Modify the previous model by introducing elasticity / bouncing [fma2e.stg] 4. Modify the previous model(s) by using vector variables, by dealing in parametric way with either dimensions [fma2v.stg] or bodies [fma2v2.stg] Some (simple) examples / exercises 5. [Open-loop control] Modify the previous 1D model to make the force an interactively controllable input; introduce a moving target (e.g., sin(time)) and try to track it (i.e., try to minimize the absolute value of the difference between system position and target position) by playing with an input widget [fma3.stg] 6. [Closed-loop control, by negative feedback] Modify the previous model to make the force value automatically set by a closed-loop controller [fma3b.stg] Continuous vs. discrete Local vs. global Simulation engines solve numerically 1st order ODE by iteration: • from the initial state: • first iteration: • second iteration: • n-th iteration: Hence: Continuous-time local dynamics Continuous-time global dynamics Discrete-time local dynamics Discrete-time global dynamics On (non-)linearity A typical requirement for an ODE to be analytically integrable is its linearity Consider, e.g., the 2nd order non-linear ODE modeling the behavior of a dumped harmonic oscillator: d 2ϑ (t ) dϑ (t ) dt 2 +A dt + B sin(ϑ (t )) = 0 The application of the technique for numerical integration leads to: dϑ (t ) dt = ω (t ) dω (t ) = − Aω (t ) − B sin(ϑ (t )) dt where the linearization is sin(ϑ (t )) ≈ ϑ (t ) (“small signals” hypothesis) By adopting numerical integration techniques the linearization (that implies an approximation) is no more required [oscill.stg] On (in)stability Let us consider the classical example of the Van der Pol equation: d 2 x(t ) dx(t ) 2 + ( x − 1 ) + x(t ) = 0 2 dt dt Despite its simplicity, this is a non-linear feedback system RK2(3) ∆t=0,1 RK2(3) ∆t=0,52 RK2(3) ∆t=0,519 Euler ∆t=0,3 critical parameters [vanderpol.stg] On deterministic chaos From the Malthus (fixed-rate growth) equation: x(t + ∆t ) = x(t ) + kx(t ) let us consider the classical example of the Verhulst equation: x(t ) x (t + ∆t ) = x (t ) + k (1 − ) x(t )∆t xmax Once more, the integration method and ∆t, together with k, are critical: Euler ∆t=1 k=0,1 Euler ∆t=1 k=2,2 RK2(3) ∆t=1 k=2,7 Euler ∆t=1 k=2,7 A “bifurcation diagram”, resulting from sensitivity analysis on k (Euler ∆t=1) [see case study 1] Qualitative modeling 1. Create the qualitative model for a simple inventory system, connecting order book, production, product stock, and product shipment 2. Create the qualitative model for a “network effect”-based system, connecting number of users, perceived value of product, and number of new customers 3. The management of a fast-food restaurant is re-defining the FFR organization: to this goal it identified the main variables affecting the FFR operations and their relations, as follows: decreasing the service time requires decreasing the cooking time, which implies decreasing the food quality, which is acceptable by increasing the number of customers, which is achievable by decreasing the service time, … 4. Create the qualitative model for a waiting line system (see the slides of the first lecture) Qualitative modeling /2 1. 2. − + 3. 4. In a loop the number of negative signs determines the nature of feedback: • positive if even • negative if odd Exercise: bank account management 1. A capital of 1000 € is invested at the yearly interest rate of 5%; which will the capital amount be after 10 years, under the hypothesis that the interests are computed on a monthly basis and all reinvested, and no sums are withdrawn? 2. Modify the previous exercise as follows: each four months a sum of 100 € is added to the account; which will the capital amount be after 10 years in this case? 3. Modify the previous exercise as follows: at the beginning of each new year the bank gives a price of 500 € to some randomly chosen account owners; provided that the estimated probability to win is 0,25 for each year, which will the estimated capital amount be after 10 years in this case? Exercise: stock management 1. The person responsible of the warehouse in a factory wants to compute: – the stock level as a function of the inventory input and output – the change of the stock level under the hypothesis that items of a single product are stored in the warehouse [stock.stg] 2. She wants then introduce the automatic reordering to the supplier (the supplier requires 1 time unit to deliver the ordered items), triggered when the stock level is lower than a fixed security level, with the reorder quantity required to fill the stock to the security level [stock2.stg] 3. Noticing that the previous strategy is generally ineffective, she wants to compute the reorder quantity in some adaptive way, e.g., as a function of the inventory output or the change of the stock level, with the aim of reducing the number of reorder operations [stock3.stg] Exercise: ROI evaluation How many months are required to balance the startup costs (i.e. the initial investment)? (values in k€) Case 1: • startup costs: 1000 • operating costs per month: 10 • manufacturing cost per item: 0.05 • sold items per month: 2000 • market price per item: 0.1 • passive interests per month: 5% • active interests per month: 2% [balance.stg] Case 2: • startup costs: 10000 • operating costs per month: 5 • manufacturing cost per item: 0.005 • sold items per month: 2000 • market price per item: 0.1 • passive interests per month: 5% • active interests per month: 2% [balanceb.stg] System theory: the basic formalization According to the state-variable approach to system theory, the model of the behavior of dynamic systems is formalized by a 7-tuple of elements <T, U, Ω, Y, X, ϕ, η>: • the time domain T for the analysis / simulation: initial and final time, whether continuous or discrete time, and in the latter case ∆t • the set U={ui} of the admissible inputs to the system; in general each ui is a vector of components, and no constraints are imposed on the algebraic structure of U • the input function u:T→U to the system, that for each time t∈T defines the input value u(t)∈U; assuming in general that the input function is not known, the set Ω={u()} of the admissible input functions must be defined • the set Y={yi} of the outputs of the system; in general each yi is a vector of components, and no constraints are imposed on the algebraic structure of Y • the set X={xi} of the states of the system, and in particular the initial state x(t0); in general each xi is a vector of components, and no constraints are imposed on the algebraic structure of X • the local state transition (next state) function ϕ:U×X→X ; it is a diachronic function: for example, in the case of discrete time, x(t+∆t)=ϕ(u(t), x(t)) • the local behavior (output) function η:U×X→Y ; it is a synchronic function: for example, in the case of discrete time, y(t)=η(u(t), x(t)) System theory: the basic formalization /2 The formalization based on the 7-tuple <T, U, Ω, Y, X, ϕ, η> is very general (it includes both continuous-time and discrete-time models, and both algebraically-strong and algebraically-weak models) In particular, specific cases are: • autonomous models, for which the input set U is empty; the local state transition function and the local behavior function become respectively ϕ:X→X and η:X→Y • combinatorial models, for which the state set X is empty; the local state transition function is undefined and the local behavior function become η:U→Y (hence, autonomous combinatorial models are static) System theory: the basic formalization /3 Specific cases on the 7-tuple <T, U, Ω, Y, X, ϕ, η> are: • “system dynamics”: models whose local state transition function has the form of a canonical representation, i.e., in the discrete-time case x(t+∆t)=x(t)+f(u(t), x(t))∆t In this case of so-called “stock-and-flow” models, states are assumed to have a cumulative behavior (stock), controlled by the function f() (flow) • “automata theory”: models whose input, state, and output sets have no algebraic structure, so that the local state transition function and the local behavior function must be defined in extensional way, i.e., by means of tables explicitly listing the couples: argument - value Example / exercise: following a moving target Model and simulate a system aimed at reaching a (manually controlled) moving target and reacting with some delay / inertia For example: following system target A trivial solution: [achilles.stg] p: init = 0 trans = integral((target-this)/k) Example / exercise: dealing with delays Model and simulate a system introducing a 1∆t delay on its input For example: It is a simple example of a memory unit… … which can be easily implemented by a state node Since the state transition function ϕ is such that state(t+∆t)=ϕ(state(t),input(t)), all is required is to define state(t+∆t)=input(t) out: init = 0 trans = in It is easy to model from here the discrete derivative (local variation of the input) and the conveyor (n∆t delay, i.e., FIFO structure) deriv: init = 0 trans = in out = (in-this)/timeD conveyor: init = vector(n,0) trans = shift(this,in) out = this[0] Example / exercise: smoothing the input Model and simulate a system able to filter out the high frequency noise from its input, i.e., extracting the trend For example: Such a low-pass filter can be implemented as a moving average: • maintain n input data in a buffer (i.e. a conveyor) • average the data in the buffer signal: = sin(time) in: = signal+noise noise: = rand() buffer: init = vector(n,0) trans = shift(this,in) out: = average(buffer) Exercise: stock exchange business From the time series of the stock quotations of a company, you are required to implement a strategy to speculate on the stock exchange business, according to the following specifications: • to the time series a moving (“windowed”) average of length N must be applied • send a “buy” signal whenever the averaged series has minimum, and a “sell” signal whenever the averaged series has maximum • maintain the complete history of the quotations of buy and sell operations, the balance and the number of these operations [exchange.stg] [Please consider: this is a very preliminary technique, whose results are generally bad…] Exercise: cost optimization in input mix A firm produces the quantity y of a product by mixing the quantities u1 and u2 of two components according to the following production function: y = γ (αu1β + (1 − α )u 2β ) δ β where α, β, γ, and δ are constant parameters, and the production cost c is: c = w1u1 + w2u 2 where w1 and w2 are constant parameters. 1. Under the assumption that α =0,8, β =0,3, γ =1,0, δ =0,8, w1 =2,0, and w2 =1,0, find the values u1 and u2 that minimize c in the case y =4,0 2. Analyze the value min(c/y) for different values of y: which conclusions can be drawn on this production system? adapted from M.Ruth, B.Hannon, Modeling dynamic economic systems, Springer, 1997, p.95 [substitution of inputs.stg] [substitution of inputs 2.stg] Exercise: stock management 1. The person responsible of the warehouse in a factory wants to compute: – the stock level as a function of the inventory input and output – the change of the stock level under the hypothesis that items of a single product are stored in the warehouse 2. She wants then introduce the automatic reordering to the supplier (the supplier requires 1 time unit to deliver the ordered items), triggered when the stock level is lower than a fixed security level, with the reorder quantity required to fill the stock to the security level 3. Noticing that the previous strategy is generally ineffective, she wants to compute the reorder quantity in some adaptive way, e.g., as a function of the inventory output or the change of the stock level, with the aim of reducing the number of reorder operations [stock.stg] [stock 2.stg] [stock 3.stg] Exercise: interacting populations The dynamics of an isolated population is described by the amount of a characteristic quantity (e.g., the number of its individuals) (so that under the hypothesis of fixedrate growth the Malthus equation is obtained) 1. Let us now assume that two such populations interact with each other, by either cooperation or competition, and that the interaction dynamics is linear (i.e., it is formalized by fixed-rate change coefficients in a linear equation). Hence, the whole system is characterized by four (constant) parameters: – the rate of “spontaneous” change of each population – the rate of change of each population due to its interaction with the other one Study the dynamics of the system in dependence of the sign of the four parameters. 2. Modify the previous model to implement the Lotka-Volterra equations: dx (t ) dt = k xx x(t ) + k xy x (t ) y (t ) dy (t ) = k yy y (t ) + k yx x (t ) y (t ) dt and study the dynamics of this system. [interacting populations.stg] [Lotka-Volterra.stg] Exercise: Xlight Some experts have estimated that the market of the table lamp “Xlight” in Roma has 10000 potential buyers. Currently only 10 persons own this lamp. The distributor relies on the direct communication among customers as advertising strategy, under the hypothesis, suggested by the experts, that 2 persons will be contacted by each 10 owners per month. While some of the contacted people could be already owner of the lamp, the experts are confident that all the contacted persons who do not own the lamp will buy it immediately after the contact. On the basis of these specifications, create a model of the system and run the simulation to predict the number of months required to reach a 90% saturation of the market. [xlight.stg] Exercise: demand, supply, price A classical macro-economical model: the relations between demand and supply as the determining factor of the dynamics of price Create and simulate a model implementing the following specifications: • the demand is inverse function of the price • the price increases in function of the difference of demand and supply • the supply is direct function of the price of the previous instant (in all cases assume a linear dependence) Perform some sensitivity analysis to explore the dependence of price on model calibration parameters. [price, supply and demand.stg] Exercise: positive feedback in economy Create and simulate a model implementing the following specifications • The more that has been produced by a producer, the more experience that producer has gained, and as a consequence, the lower its production cost per product. • Lower costs translate into lower prices • which, in turn, increase the attractiveness of the product to the consumer and therefore the number of sold products per unit time. What could happen if two products compete with these specifications in the same market? [positive feedback.stg] (Non-)conclusion: for the discussion “The barest essential of any organization, whether as simple as the thermostat or as complex as the animal body or human society, is a control mechanism consisting of a system of communication and transformation. It consists, first of all, of receptors of information (thermometers, sense organs, salesmen, operators, spies). They collect information about the environment and transmit it over a communications system (nerves, speech, letters) to an executive (furnace control, central nervous system, manager) whose business is to take the information which he (or it) receives and transform it into instructions. These are then communicated over a further communications system to effectors (furnace, muscles, workmen, soldiers) who act in some way to change the environment. The change in the environment is picked up by the receptors and the whole process is repeated endlessly. What the receptors pick up is information about divergence of the environment from some condition which is regarded as right, proper, or normal. If the machinery is operating correctly, this information will be transmitted accurately to the executive, who will in turn transform it into the “right” instructions to the effectors, who will receive these instructions correctly and put them into effect. The result of their action will be to change the environment in such a way as to diminish the divergence between the actual condition of the environment and the condition which is regarded as ideal. If in fact the divergence is diminished, this information will be transmitted to the executive and the former policy will be continued. If in fact the divergence is increased, or is unchanged, or is not diminished sufficiently to produce satisfaction, this information also will be transmitted to the executive, who will be faced with the problem of altering his instructions in order to provide for different ways of affecting the environment.” [K.E.Boulding, The organizational revolution – A study in the ethics of economic organization, 1968]