OPTIMAL CONTROL OF THE VIDALE-WOLFE-DEAL AND THREE
POPULATIONS MODELS OF MARKET SHARE DYNAMICS
Luiz Carlos de Barros Roth
Dissertacao de Mestrado apresentada ao
Programa de Pos-graduacao em Engenharia
Eletrica, COPPE, da Universidade Federal do
Rio de Janeiro, como parte dos requisitos
necessarios a obtencao do tıtulo de Mestre em
Engenharia Eletrica.
Orientador: Amit Bhaya
Rio de Janeiro
Marco de 2018
OPTIMAL CONTROL OF THE VIDALE-WOLFE-DEAL AND THREE
POPULATIONS MODELS OF MARKET SHARE DYNAMICS
Luiz Carlos de Barros Roth
DISSERTACAO SUBMETIDA AO CORPO DOCENTE DO INSTITUTO
ALBERTO LUIZ COIMBRA DE POS-GRADUACAO E PESQUISA DE
ENGENHARIA (COPPE) DA UNIVERSIDADE FEDERAL DO RIO DE
JANEIRO COMO PARTE DOS REQUISITOS NECESSARIOS PARA A
OBTENCAO DO GRAU DE MESTRE EM CIENCIAS EM ENGENHARIA
ELETRICA.
Examinada por:
Prof. Amit Bhaya, Ph.D.
Prof. Eugenius Kaszkurewicz, D.Sc.
Prof. Nelson Maculan Filho, D.Sc.
RIO DE JANEIRO, RJ – BRASIL
MARCO DE 2018
Luiz Carlos de Barros Roth
Optimal control of the Vidale-Wolfe-Deal and Three
Populations models of market share dynamics/Luiz Carlos
de Barros Roth. – Rio de Janeiro: UFRJ/COPPE, 2018.
XV, 65 p.: il.; 29, 7cm.
Orientador: Amit Bhaya
Dissertacao (mestrado) – UFRJ/COPPE/Programa de
Engenharia Eletrica, 2018.
Bibliography: p. 55 – 57.
1. Duopoly. 2. Vidale-Wolfe-Deal model. 3.
Lotka-Volterra type model. 4. Sequential game. 5.
Optimazation. I. Amit Bhaya. II. Universidade Federal do
Rio de Janeiro, COPPE, Programa de Engenharia Eletrica.
III. Tıtulo.
iii
To God and my parents.
iv
Acknowledgement
I want to express my gratitude to professor Amit Bhaya, whose kindness, knowledge
and patience are references of mine, for his guidance, support and friendship.
Many thanks to professors Eugenius Kaszkurewicz and Nelson Maculan Filho
for their time, solicitude and comments, which helped to improve this dissertation.
I am very thankful of the NACAD laboratory staff for creating such a pleasant
work environment.
A special thanks to CAPES for giving me the financial support necessary to
complete this work.
Last, but never least, I want to express all my love to my family. Thanks for
dealing with all my stress and mood swings. You are the beacon of light in my life
that prevents me from getting stranded.
v
Resumo da Dissertacao apresentada a COPPE/UFRJ como parte dos requisitos
necessarios para a obtencao do grau de Mestre em Ciencias (M.Sc.)
CONTROLE OTIMO DOS MODELOS DE DINAMICAS DE MERCADO DE
VIDALE-WOLFE-DEAL E TRES POPULACOES
Luiz Carlos de Barros Roth
Marco/2018
Orientador: Amit Bhaya
Programa: Engenharia Eletrica
O proposito desta dissertacao e estudar a resposta otima dos modelos de venda-
publicidade em duopolios utilizando modernos software de otimizacao (JModel-
ica.org e JuMP). Especificamente, os modelos adotados foram Vidale-Wolfe-Deal
e Tres Populacoes (um modelo do tipo Lotka-Volterra). As analises de duopolio sao
divididas em duas partes: uma, que soluciona o problema de controle otimo com o
objetivo de maximizar o lucro lıquido de ambas as empresas de uma so vez, referido
como cooperacao simultanea, e outra, que coloca as duas empresas como oponentes
em um jogo sequencial, cada uma com o objetivo individual de maximizar o lucro
lıquido durante seu turno, referido como competicao sequencial.
As contribuicoes da dissertacao sao: prover analise de estabilidade do modelo
Vidale-Wolfe-Deal mostrando que qualquer controle que atinja valores constantes
positivos leva a um equilıbrio estavel das fatias de mercado, propor uma versao do
modelo de Tres Populacoes para o duopolio, e, por fim, propor e solucionar um jogo
sequencial baseado em iteracoes de Lıder-Seguidor para o modelo Vidale-Wolfe-Deal.
vi
Abstract of Dissertation presented to COPPE/UFRJ as a partial fulfillment of the
requirements for the degree of Master of Science (M.Sc.)
OPTIMAL CONTROL OF THE VIDALE-WOLFE-DEAL AND THREE
POPULATIONS MODELS OF MARKET SHARE DYNAMICS
Luiz Carlos de Barros Roth
March/2018
Advisor: Amit Bhaya
Department: Electrical Engineering
The purpose of this dissertation is to study the optimal response of sales-
advertising models for duopolies using modern optimization software (JModelica.org
and JuMP). Specifically, the models adopted were the Vidale-Wolfe-Deal and the
Three Populations, a Lotka-Volterra type model. Duopoly analysis is split in two
parts: one that solves an optimal control problem with the objective of maximizing
the net profit of both firms in one-shot, referred to as simultaneous co-operation,
and the other that places the two firms as opponents in a sequential game, each with
the individual goal of maximizing net profit on its turn, referred to as sequential
competition.
The contributions of this dissertation are: providing a stability analysis for the
Vidale-Wolfe-Deal model, which shows that any control attaining final constant pos-
itive values leads to a stable equilibrium of market shares, proposing a duopolistic
version of the Three Populations model, and, lastly, proposing and solving a sequen-
tial game based on Leader-Follower iteration for the Vidale-Wolfe-Deal model.
vii
Contents
List of Figures x
List of Tables xv
1 Introduction 1
1.1 Motivation and objectives . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.1 Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Structure of the dissertation . . . . . . . . . . . . . . . . . . . . . . . 3
2 Models for market share dynamics and associated optimal control
problems: old and new 4
2.1 Vidale-Wolfe model . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2 Stability analysis of the Vidale-Wolfe-Deal model . . . . . . . . . . . 5
2.3 Optimal control problem for the Vidale-Wolfe-Deal model . . . . . . . 7
2.4 Three Populations model . . . . . . . . . . . . . . . . . . . . . . . . . 8
3 Mathematical formulations and numerical solution methods for op-
timal control problems of market share dynamics 13
3.1 Solving dynamic optimization problems with JModelica.org . . . . . . 13
3.1.1 Numerical methods for optimal control problems . . . . . . . . 13
3.2 Solving dynamic optimization problems with JuMP . . . . . . . . . . 17
3.2.1 Discretization of the Vidale-Wolfe-Deal advertising model . . . 18
3.3 Sequential Game . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4 Numerical results of market share optimization using mathematical
software JModelica and JuMP 30
4.1 Monopoly results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.2 Duopoly results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.2.1 Simultaneous co-operation . . . . . . . . . . . . . . . . . . . . 37
4.2.2 Sequential game competition . . . . . . . . . . . . . . . . . . . 47
viii
5 Concluding Remarks 52
5.1 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.2 Future work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Bibliography 55
A JModelica.org codes 58
A.1 Monopoly example . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
A.1.1 VW Opt.mop . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
A.2 Duopoly examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
A.2.1 VWD Opt.mop . . . . . . . . . . . . . . . . . . . . . . . . . . 59
A.2.2 D3pops Opt.mop . . . . . . . . . . . . . . . . . . . . . . . . . 60
B Julia code 61
B.1 Sequential Game . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
C Figures permissions 64
C.1 Figure 3.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
C.2 Figure 4.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
ix
List of Figures
2.1 Graph showing interactions among brand, defector and undecided popu-
lations (nodes). Arrows are labeled with a term that indicates the rate
at which the population at the tail is depleted, and, correspondingly, the
population at the head of the arrow is growing. Figure based on [1]. . . . 9
2.2 Graph showing interactions among brand, rival and undecided popula-
tions (nodes) for the duopoly model. Arrows are labeled with a term that
indicates the rate at which the population at the tail is depleted, and,
correspondingly, the population at the head of the arrow is growing. The
duopolistic model assumes that all interactions between brand and rival
lead to an increase of the undecided population. Corresponding decreases
to the brand and rival populations are modeled according to a parameter
α that determines the proportion in which each population is depleted. . 11
3.1 Overview of decomposition of a continuous-time dynamic optimization
problem, in the direct and indirect approaches, into discrete-time prob-
lems, solvable by the numerical methods denominated shooting and collo-
cation. Figure from [2], used with permission. . . . . . . . . . . . . . . 14
3.2 Control u and state x discretized in the interval t ∈ [t0, tf ]. Figure from
[3], used with permission (please see Appendix C). . . . . . . . . . . . . . 16
3.3 Compilation Process in JModelica.org for Dynamic Optimization Prob-
lems. Figure from [2], used with permission . . . . . . . . . . . . . . . . 17
3.4 Block diagram of the Leader-Follower iteration. . . . . . . . . . . . . . . 29
4.1 Optimal trajectory solution when x0 ≤ xS and xS ≥ xT . Figure from [4],
used with permission (please see Appendix C). . . . . . . . . . . . . . . 31
x
4.2 Evolution of the Advertising (control action) in a monopoly. The firm
initially spends its maximum advertising limit (u∗ = umax = Q = 10)
in order to reach the optimal market share as fast as possible. Then, it
reduces advertising investments to u∗ = uS = 3.9160 in order to maintain
equilibrium. In the end, it ceases investments altogether (u∗ = 0) to
increase its profit since decay of the market share is slow. This behavior
matches the analytical solution portrayed in in Figure 4.1. . . . . . . . . 32
4.3 Evolution of the Market Share in a monopoly. The market share of the
firm starts at x0 = 0.1, stabilizes at xS = 0.9592 (= optimal market share)
and finishes at xT = 0.92. This behavior matches the analytical solution
portrayed in Figure 4.1. . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.4 Profit curve in a monopoly. The area below the curve gives the total Net
Gain (J). As can be seen, ceasing to advertise near the end of the time
window (t ≈ 0.78) increases the performance index J . . . . . . . . . . . 33
4.5 Maximum Revenue Potential (c) × Equilibrium Point(xS). Plot shows
how the equilibrium point (xS) changes as the maximum revenue potential
constant (c) varies from 10 to 110. . . . . . . . . . . . . . . . . . . . . 34
4.6 Maximum Revenue Potential (c) × Gap(xS − xT
). Plot shows how the
distance (gap) between the equilibrium point (xS) and the final market
share (xT ) narrows as the maximum revenue potential constant (c) is in-
creased from 10 to 110. . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.7 Response Constant (r) × Equilibrium Point(xS). Plot shows how the
equilibrium point (xS) changes as the response constant (r) varies from
0.5 to 1.5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.8 Response Constant (c) × Gap(xS − xT
). Plot shows how the distance
(gap) between the equilibrium point (xS) and the final market share (xT )
narrows as the response constant (r) is increased from 0.5 to 1.5. . . . . 35
4.9 Sales Decay (λ) × Equilibrium Point(xS). Plot shows how the equilibrium
point (xS) changes as the sales decay constant (λ) varies from 0 to 1. . . 36
4.10 Sales Decay (c) × Gap(xS − xT
). Plot shows how the distance (gap)
between the equilibrium point (xS) and the final market share (xT ) widens
as sales decay constant (λ) is increased from 0 to 1. . . . . . . . . . . . 36
4.11 Market Share of Firm A in a duopoly: Co-operative scenario where ra = rb,
λa = λb and uamax = ubmax . The values of parameters are displayed in
column 1 of Table 4.2. Market share of A stars at xa0 = 0.1 per initial
condition, stabilizes at xSa = 0.4796 (= optimal market share) and finishes
at xaT = 0.46. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
xi
4.12 Advertising of Firm A in a duopoly: Co-operative scenario where ra = rb,
λa = λb and uamax = ubmax . The values of parameters are displayed
in column 1 of Table 4.2. The optimal advertising strategy begins with
u∗a = umax = 10, is brought down to u∗a = uSa = 1.9264 as the dynamic
system enters steady-state, and is ceased (u∗a = 0) near the end in order
to increase its profit since decay of the market share is slow. . . . . . . . 39
4.13 Market Share of Firm B in a duopoly: Co-operative scenario where ra = rb,
λa = λb and uamax = ubmax . The values of parameters are displayed in
column 1 of Table 4.2. Market share of B starts at xb0 = 0.1 per initial
condition, stabilizes at xSb = 0.4796 (= optimal market share) and finishes
at xbT = 0.46. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.14 Advertising of Firm B in a duopoly: Co-operative scenario where ra = rb,
λa = λb and uamax = ubmax . The values of parameters are displayed
in column 1 of Table 4.2. The optimal advertising strategy begins with
u∗b = umax = 10, is brought down to u∗b = uSa = 1.9264 as the dynamic
system enters steady-state, and is ceased (u∗b = 0) near the end in order
to increase its profit since decay of the market share is slow. . . . . . . . 40
4.15 Market shares of firms A and B in a duopoly: Co-operative scenario where
ra > rb, λa < λb and uamax < ubmax , resulting in crossover of market share
dominance from firm B to firm A at around 2.5 time units. Parameters
adopted for both firms are displayed in column 2 of Table 4.2. . . . . . . 40
4.16 Variation of the µ parameter when ra = rb, λa = λb and uamax = ubmax .
The plot on the left side shows how small variations of µ affect the nor-
malized net gains of Firm A (ordinate) and Firm B (abscissa). For µ = 1,
each firm accounts for 50% of the total net gain. Plots on the right detail
the changes on both net gains for µ < 1 (top) and µ > 1 (bottom). . . . . 41
4.17 Market share of the Brand in a duopoly: Co-operative scenario where kb =
kr and ubmax = urmax . Parameters adopted for both firms are displayed in
column 1 of Table 4.3. . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.18 Advertising effort of the Brand in a duopoly: Co-operative scenario where
kb = kr and uamax = ubmax . Parameters adopted for both firms are dis-
played in column 1 of Table 4.3. The pattern of the optimal advertising
response is similar to those obtained using Vidale-Wole monopoly model
and Vidale-Wolfe-Deal duopoly model. . . . . . . . . . . . . . . . . . . 44
4.19 Market share of the Rival in a duopoly: Co-operative scenario where kb =
kr and ubmax = urmax . Parameters adopted for both firms are displayed in
column 1 of Table 4.3. . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
xii
4.20 Advertising effort of the Rival in a duopoly: Co-operative scenario where
kb = kr and uamax = ubmax . Parameters adopted for both firms are dis-
played in column 1 of Table 4.3. The pattern of the optimal advertising
response is similar to those obtained using Vidale-Wole monopoly model
and Vidale-Wolfe-Deal duopoly model. . . . . . . . . . . . . . . . . . . 45
4.21 Market share of the Undecided in a duopoly: Co-operative scenario where
kb = kr and ubmax = urmax . Parameters adopted for both firms are dis-
played in column 1 of Table 4.3. . . . . . . . . . . . . . . . . . . . . . 45
4.22 Evolution of the market shares of Brand, Rival and Undecided populations
in a duopoly: Co-operative scenario where kb > kr and ubmax < urmax .
Parameters adopted for both firms are displayed in column 2 of Table 4.3. 46
4.23 Variation of the α parameter when kb = kr and ubmax = urmax . The plot on
the left side shows how small variations of α affect the normalized net gains
of Brand (ordinate) and Rival (abscissa). For α = 0.5, both populations
are depleted equally at every encounter and each firm accounts for 50% of
the total net gain. Plots on the right detail the changes on both net gains
for α < 0.5 (top) and α > 0.5 (bottom). . . . . . . . . . . . . . . . . . 46
4.24 Market Share of firms A and B in a duopoly: Competitive scenario. The
curves represent the evolution of market share after 150 rounds for each
firm under the assumptions of Scenario I (ra = rb, λa = λb, uamax = ubmax)
of Table 4.4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.25 Advertising effort of firms A and B in a duopoly: Competitive scenario.
The curves represent the average advertising made by the firms at each
of the 150 rounds under the assumptions of Scenario I (ra = rb, λa = λb,
uamax = ubmax) of Table 4.4. . . . . . . . . . . . . . . . . . . . . . . . . 49
4.26 Market Share of firms A and B in a duopoly: Competitive scenario. The
curves represent the evolution of market share after 150 rounds for each
firm under the assumptions of Scenario II (ra > rb, λa < λb, uamax = ubmax)
of Table 4.4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.27 Advertising effort of firms A and B in a duopoly: Competitive scenario.
The curves represent the average advertising made by the firms at each of
the 150 rounds under the assumptions of Scenario II (ra > rb, λa < λb,
uamax = ubmax) of Table 4.4. . . . . . . . . . . . . . . . . . . . . . . . . 50
4.28 Market Share of firms A and B in a duopoly: Competitive scenario. The
curves represent the evolution of market share after 150 rounds for each
firm under the assumptions of Scenario III (ra > rb, λa < λb, uamax <<
ubmax) of Table 4.4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
xiii
4.29 Advertising effort of firms A and B in a duopoly: Competitive scenario.
The curves represent the average advertising made by the firms at each of
the 150 rounds under the assumptions of Scenario III (ra > rb, λa < λb,
uamax << ubmax) of Table 4.4. . . . . . . . . . . . . . . . . . . . . . . . 51
C.1 Permission to use figure 2.1 of [3] located on page 39. . . . . . . . . . . . 64
C.2 Permission to use figure 7.5 of Chapter 7: Applications to Marketing of [4]
located on page 200. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
xiv
List of Tables
4.1 Initial Conditions and Parameters for the Monopoly. . . . . . . . . . . . 31
4.2 Initial Conditions and Parameters for the Duopoly Co-op (Vidale-Wolfe-
Deal). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.3 Initial Conditions and Parameters for the Duopoly Co-op (Three Popula-
tions). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.4 Initial Conditions and Parameters for the Duopoly Competition (Stackel-
berg). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
xv
Chapter 1
Introduction
A market is any medium driven by the laws of supply and demand through which
buyers and sellers can exchange goods and services. A market does not need to be
a physical location. Auction sites and on-line shopping are examples of electronic
transactions that can take place without any party ever meeting in person. The
structure of a market is defined by the number of legitimate sellers of a particular
product and the nature of competition among them. The two simplest forms of
market are monopoly and duopoly.
Monopoly, as its Greek etymology indicates (monos means one and polein, to
sell), is a structure reached by legal privilege or other agreements in which a single
seller gains exclusive rights over a specific good or service. Because of the lack of
competition, a monopoly allows firms to control the market, set prices and conse-
quently hurt consumers when ill regulated. Common examples of monopoly can be
found in the utilities market of most countries. Providers of water, electricity and
natural gas are often granted exclusive rights to service municipalities through local
governments.
Duopoly refers to a situation in which two sellers control all or nearly all of
the market. Duopoly is the most basic type of oligopoly, a structure where few
firms concentrate the majority of the market share. Classic examples of duopoly are
Airbus and Boeing in the jet airliner market, DC Comics and Marvel in the superhero
genre, Nvidia and AMD in PC GPU (Graphics Processing Unit) manufacturing.
Netflix, that initially held the monopoly in streaming services, now faces competition
with Amazon Prime.
Advertising competition is both dynamic and interactive among close rivals. A
case in point is the Cola Wars, a term coined during Cold War to describe the long-
running struggle between the two biggest brands in the soft drink industry: Coca-
Cola Company and PepsiCo. In 1971, Coca-Cola experienced a massive increase in
popularity after releasing its famous “I’d Like to Buy the World a Coke” jingle (in
the most expensive commercial at the time). To regain ground, Pepsi started four
1
years later its widely known “Pepsi Challenge”, an ongoing marketing campaign
where consumers are encouraged to taste both sodas and blindly select which one
they prefer (with test results leaning towards Pepsi as the consensus pick). This
just being one example of the many back and forth exchanges between these two
firms, that together account for 75% of the U.S. market [5], over the years. Since
then, Coca-Cola and Pepsi continued to invest heavily on advertising in order to set
themselves apart and dominate the soft drink market.
Optimal control theory has been employed in the theoretical studies of adver-
tising models for decades. A recurrent topic of interest has been finding or char-
acterizing an optimal advertising strategy over a defined period of time. As media
vehicles evolve and information about consumers becomes more accessible to firms,
studies of dynamic models in advertising have been growing in relevance.
More specifically, optimal control of Vidale-Wolfe [6] and related advertising dy-
namics has been studied in the context of obtaining analytical solutions in [4, 7–9].
Research has also focused on obtaining numerical solutions through the parameter-
ization of the control action [10–13]. It is also worth mentioning, as ERICKSON [5]
pointed out, that most of the work done has contemplated dynamic models operat-
ing in monopolistic markets, which often ignores important aspects of the marketing
environment such as competition.
The main purpose of this work is to use modern software tools to find numeri-
cal solutions for the Vidale-Wolfe-Deal [7] and Three Populations duopoly models.
Market dynamics are studied considering two distinct environments: co-operative
and competitive. In the first case, the objective is to maximize the net gain of two
firms simultaneously – which could be understood as a form of collusion. In the
latter, these two firms compete with each other in a sequential game, based on a
leader-follower iteration, each with the individual goal of maximizing profit on its
turn. Simulations were conducted using the Open Source software JModelica.org
[14] and JuMP [15] (Julia for Mathematical Optimization).
1.1 Motivation and objectives
Many markets which provide essential services and/or products and are not strictly
duopolies do however function as such. Most of the studies regarding market dy-
namics choose to exclude the potential collusion aspect in duopoly markets from
their analysis. When analyzing the competition between two firms, simulations are
seldom done sequentially, which means that the capability of firm to adapt and react
to its rival’s strategy is not being considered.
Furthermore, despite this digital era of smartphones, Facebook and Instagram,
most of the existing literature does not account for the effects of Word-of-Mouth
2
(WOM) – more precisely electronic Word-of-Mouth (eWOM) – on sales-advertising
models. This dissertation introduces a duopolistic version of the Three Population
model, which takes the effects of eWOM in consideration.
1.1.1 Objectives
The objectives of this dissertation are:
� To verify the Vidale-Wolfe monopoly model’s optimal response in order to
validate subsequent results.
� To study the Vidale-Wolfe-Deal duopoly model under the assumption of com-
petition and co-operation.
� To study the effects of eWOM and to propose a duopoly model based on the
Three Populations model for monopolies.
1.2 Structure of the dissertation
The dissertation is organized as follows. Chapter 1 starts by giving a brief intro-
duction to market dynamics, more specifically monopoly and duopoly models. It
contextualizes the subject of the dissertation by providing recent examples of both
practices in business. This also serves the purpose of highlighting the relevance of
studying sales-advertising models.
In Chapter 2, the Vidale-Wolfe advertising model is presented along with Deal’s
extended version for a duopoly. The Chapter also offers the stability analysis of
the Vidale-Wolfe-Deal model and recaps the Three Populations model. Dynamic
optimization problems for all these advertising models are formulated.
Chapter 3 presents the methods and software used for solving the optimal con-
trol problems, also providing a brief overview of numerical methods. The dynamic
optimization problems presented in the previous chapter are discretized and a Stack-
elberg competition based on the Vidale-Wolfe-Deal model is described.
In Chapter 4, numerical results for the Vidale-Wolfe monopoly model are dis-
cussed and compared to the theoretical solution found in [4]. The effects of eWOM
on the Three Populations model are examined. Duopoly analysis is divided in two
cases: co-operation and competition. The former discusses the obtained results for
simultaneous optimization of the Vidale-Wolfe-Deal model, while the latter exam-
ines the proposed sequential Stackelberg competition.
Finally, Chapter 5 concludes the dissertation with a few remarks, summarizing
the results and indicating some possible future work.
3
Chapter 2
Models for market share dynamics
and associated optimal control
problems: old and new
2.1 Vidale-Wolfe model
The model developed by VIDALE and WOLFE [6] considers two main aspects re-
garding the relation between sales and advertising. The rate of sales decreases with
time if no advertisements are made, since consumers tend to forget about the prod-
uct, which is modeled by an exponential decay term λS in (2.1). Advertising effort
u(t) results in a proportional increase in sales, modulated by diminishing returns as
a direct consequence of marketing saturation, resulting in the term αu(t)(
1− S(t)M
)in (2.1). Hence, the Vidale-Wolfe model for a monopolistic firm can be stated as:
S(t) = αu(t)
(1− S(t)
M
)− λS(t) (2.1)
where S(t) is the rate of sales at time t, u(t) is the advertising effort at the same
instant, α is the response constant to the advertising effort, λ is the sales exponential
decay constant and M is the market saturation – it is possible write M as a function
of time, but in this dissertation, in common with most of the literature, M is chosen
to be time-invariant.
A more convenient way to write equation (2.1) is to express the model in terms
of the market share, which represents the rate of sales as a fraction of the market
saturation. Thus, making the change of variable (x(t) = S(t)/M) yields:
x(t) = ru(t)(1− x(t))− λx(t) (2.2)
4
where:
r =α
M
DEAL [7] proposes and numerically analyses a version of the Vidale-Wolfe model
for duopoly. In his model, each competitor is defined by its own particular sales
response and sales decay constants. However, rival advertising has no assumed
effect on the other firm’s market share, only affecting the untapped portion of the
market.
Similar to what was done in equation (2.2), Deal’s model for duopoly can be
normalized into the following pair of differential equations:
xi(t) = riui(t)(1− x1(t)− x2(t))− λixi(t); i = 1, 2. (2.3)
where subscript i indexes the ith firm.
Normalization imposes constraints on the state space. For instance, any firm
must have a nonnegative market shares at all times. Furthermore, the sum of all
firm’s market share must never surpass unity.
The state space constraints for the Vidale-Wolfe-Deal model are summarized as
follows:
x1(t) ≥ 0 (2.4)
x2(t) ≥ 0 (2.5)
x1(t) + x2(t) ≤ 1 (2.6)
2.2 Stability analysis of the Vidale-Wolfe-Deal
model
Since almost all the literature on the Vidale-Wolfe-Deal model has concentrated
on optimal control problems, it has not been subjected to the standard stability
analysis, which is an important first step in understanding any dynamical system.
In this section, we study the stability of the dynamic system described by the
differential equations shown in (2.3) when subjected to a constant input, ui. The
dynamic system is written as follows:x1 = r1u1(1− x1 − x2)− λ1x1x2 = r2u2(1− x1 − x2)− λ2x2
where r1, r2, u1, u2, λ1 and λ2 are all positive real values.
5
Grouping terms in x1 and x2 on the right hand side yields:x1 = −(r1u1 + λ1)x1 − (r1u1)x2 + r1u1
x2 = −(r2u2)x1 − (r2u2 + λ2)x2 + r2u2(2.7)
Since the advertising efforts, u1 and u2, were assumed to be positive constants,
it is easy to see that the Vidale-Wolfe-Deal model behaves as a linear system.
An equilibrium point is a state of the system that once reached does not change
with time. Consequently, all state variables’ derivatives must be equal to zero at
any equilibrium point. Solving the dynamic system (2.7) when x1 = x2 = 0 yields:
x1 =r1u1λ2
(r1u1λ2 + r2u2λ1 + λ1λ2)(2.8)
x2 =r2u2λ1
(r1u1λ2 + r2u2λ1 + λ1λ2)(2.9)
Given that r1, r2, u1, u2, λ1 and λ2 were assumed to be positive real numbers, it
is easy to verify that the solution shown in equations (2.8) and (2.9) ensures x1 ≥ 0,
x2 ≥ 0 and x1 + x2 < 1.
This result shows that the equilibrium point for the Vidale-Wolfe-Deal model
lies within the state space delimited by the constraints stated in equations (2.4 -
2.6).
To verify whether the equilibrium point given by equations (2.8) and (2.9) is
stable, let J denote the Jacobian matrix of the dynamic system (2.7), which can be
expressed as:
J =
[−(r1u1 + λ1) −(r1u1)
−(r2u2) −(r2u2 + λ2)
]
Consequently its determinant, det(J ), and trace, tr(J ), are given by:
det(J ) = r1u1λ2 + r2u2λ1 + λ1λ2 >0
tr(J ) = −(r1u1 + r2u2 + λ1 + λ2)<0
and this pattern of signs guarantees that the real part of its eigenvalues is strictly
negative. Therefore, the equilibrium point of the dynamic system is locally asymp-
totically stable.
Furthermore, the discriminant of the characteristic polynomial of second degree
can be written as:
6
tr2(J )− 4det(J ) = [(r1u1 + λ1) + (r2u2 + λ2)]2 − 4[(r1u1 + λ1)(r2u2 + λ2)− (r1u2)(r2u1)]
= (r1u1 + r2u2)2 + (λ1 − λ2)2 + 2(λ1 − λ2)(r1u1 − r2u2)
For the particular case where both firms have the same sales decay constant, i.e.
λ1 = λ2, we have:
tr2(J )− 4det(J ) = (r1u1 + r2u2)2 > 0
Thus, both eigenvalues are distinct negative real numbers and the critical point
is a stable node.
For λ1 6= λ2, the critical point can be either a stable node, if tr2(J )−4det(J ) ≥ 0,
or a stable focus, tr2(J ) − 4det(J ) < 0. Control literature may sometimes refer
to the critical point as a star rather than a node when the discriminant is equal to
zero. Regardless, the critical point is clearly an equilibrium point.
Therefore, not only an equilibrium point exists, it is also locally asymptotically
stable and lies in the nonnnegative quadrant,i.e., is feasible.
As a conclusion of the stability analysis of the Vidale-Wolfe-Deal model, any
control that attains final constant positive values leads to stable equilibrium of
market shares.
2.3 Optimal control problem for the Vidale-
Wolfe-Deal model
In this section we formulate an optimal control model associated to the Vidale-
Wolfe-Deal model. It is assumed that the objective of the company is to maximize
the net gain, i.e. profit accrued from market share (=state) minus the advertising
expense (=control), for a defined period of time, Tf . Thus, the cost function can be
formulated as:
Ji(xi, ui, Tf ) =
Tf∫0
cixi(t)− ui(t)dt; i = 1, 2. (2.10)
where ci denotes the maximum revenue potential of a particular firm, which assumes
a constant margin per unit product.
In a cooperative duopoly, both firms have the objective of maximizing their
individual net gains. It is possible to introduce a nonnegative weight µ such that if
µ = 1, then both gains are weighted equally. If not, then one firm is favored over
the other. This weighted cost function can be written as:
J12(x1, x2, u1, u2, Tf ) = J1(x1, u1, Tf ) + µJ2(x2, u2, Tf ) (2.11)
7
The optimal control problem can be summarized as follows:
maximizeu1, u2
J12(x1, x2, u1, u2, Tf ) (2.12a)
subject to xi(t) = riui(t)(1− x1(t)− x2(t))− λixi(t); i = 1, 2, (2.12b)
ui(t) ≤ uimax i = 1, 2, (2.12c)
ui(t) ≥ 0 i = 1, 2, (2.12d)
xi(t) ≥ 0 i = 1, 2, (2.12e)
x1(t) + x2(t) ≤ 1 (2.12f)
where equation (2.12b) expresses the dynamics, equations (2.12c - 2.12d) are con-
straints on the controls, with uimax being the maximum budget available for ad-
vertising to the ith company, and equations (2.12e - 2.12f) are the normalization
constraints on the state space.
Rewriting the problem for a monopolistic firm is straightforward, as equations
(2.13a - 2.13f) show. It only requires replacing equation (2.12b) with (2.2) and
modifying the cost function and its constraints accordingly.
maximizeu
J(x, u, Tf ) =
Tf∫0
cx(t)− u(t)dt (2.13a)
subject to x(t) = ru(t)(1− x(t))− λx(t), (2.13b)
x(t) ≤ 1, (2.13c)
x(t) ≥ 0, (2.13d)
u(t) ≤ umax, (2.13e)
u(t) ≥ 0 (2.13f)
2.4 Three Populations model
This section proposes a duopolistic version of the model proposed by BHAYA and
KASZKUREWICZ [1]. Their model is “inspired by Lotka-Volterra type models
of three interacting populations of customers: one that is satisfied with the brand
that the model seeks to describe, its market share at time t (fraction of the total
costumer population) being denoted xb(t), the fraction of defectors from the brand,
denoted xd(t), and the fraction of undecided customers being denoted xi(t)” [1]. In
accordance with the terminology in [1], the three populations are referred to brand,
defectors and undecided respectively. In addition, the corresponding normalized
market share of each costumer population must sum to unity at all times, i.e.:
8
xb(t) + xd(t) + xi(t) = 1 (2.14)
This model assumes that the advertising effort u made by the brand increases its
market share by depleting the undecided and, possibly, defector populations. More-
over, the undecided fraction of costumers is treated as prey and is, thus, subjected
to predation by both brand and defectors. As in Lotka-Volterra type models, all
predation terms are proportional to the encounters between any two populations,
and this assumption is also similar to the one made made in word-of-mouth (WOM)
or electronic word-of-mouth (eWOM) models [16], and also in competitive dynamics
of web sites [17].
The system describing the Three Populations model is expressed by the following
set of equations: xb = kbu+ kbixbxi − kbdxbxdxd = −kdu+ kdixdxi + kbdxbxd
xi = (kd − kb)u− kdixdxi − kbixbxi
(2.15)
with u denoting positive advertising effort by the brand and parameters kb, kd, kbd,
kbi, kdi expressing the rates at which populations grow or diminish.
Brand
b
Defector
d
Undecided
i
kbdxbxd
kbd < 0
kbd > 0
kbdxbxd
kdixdxi
kdu
kbu
kbixbxi
Figure 2.1: Graph showing interactions among brand, defector and undecided populations
(nodes). Arrows are labeled with a term that indicates the rate at which the population
at the tail is depleted, and, correspondingly, the population at the head of the arrow is
growing. Figure based on [1].
The interaction graph among the three populations is shown in Figure 2.1. Ad-
vertising is assumed to have a positive effect on the brand by swaying undecided
costumers and, possibly, depleting the defector population. Hence, constants kb and
kd are respectively positive and nonnegative. Because the undecided population
is modeled as prey, constants kbi and kdi can only take positive values. The sign
9
of kbd determines the flow between brand and defectors after each encounter. If
kbd = 0, it is being assumed that interactions have no effect on the growth rates of
the respective populations.
An inspection of the equations describing the dynamic system (2.15) shows that
the sum of all population’s derivatives (size variations) is zero, which implies that
the total customers population is time-invariant. Therefore, as long as the initial
conditions are chosen such that xb(0) + xd(0) + xi(0) = 1, constraint (2.14) holds
true for all time.
We now propose a duopolistic version of the Three Populations model by replac-
ing the defectors with a second rival brand, hereafter referred to rival and denoted
xr(t). Competition is introduced by allowing the rival to counter the advertising
effort of the brand with an effort of its own, denoted ur(t). Furthermore, it is
assumed that encounters between rival and brand result in clients of both brands
becoming undecided, which depletes both brand and rival populations and lead to
corresponding increases in the undecided market share. The Three Populations
model for duopolies is written as follows:xb = kbub + kbixbxi − αkbrxbxrxr = krur + krixrxi − (1− α)kbrxbxr
xi = −kbub − krur − kbixbxi − krixrxi + kbrxbxr
(2.16)
where parameter kr is a positive growth constant similar to kb and α is a parameter
between 0 and 1 that determines the proportion in which brand and rival populations
are depleted. For α = 0.5, both decrease equally on each encounter. Figure 2.2 shows
the new interaction graph among the three populations.
As in the previous model, the sum of the differential equations describing the
dynamic system (2.16) is also zero. Thus, the modified Three Populations model
still satisfies the basic invariance assumption, i.e., the non-violation of constraint
(2.14).
The invariance constraint, however, does not guarantee that the market shares
of brand, rival and undecided populations always remain nonnegative. In order to
avoid any market share taking negative values, there is still need to enforce the set
of non-negativity constraints:
xb(t) ≥ 0 (2.17)
xr(t) ≥ 0 (2.18)
xi(t) ≥ 0 (2.19)
10
Brand
b
Rival
r
Undecided
i
(1− α) kbrxbxr
αkbrxbxr
krixrxi
krur
kbub
kbixbxi
Figure 2.2: Graph showing interactions among brand, rival and undecided populations
(nodes) for the duopoly model. Arrows are labeled with a term that indicates the rate
at which the population at the tail is depleted, and, correspondingly, the population at
the head of the arrow is growing. The duopolistic model assumes that all interactions
between brand and rival lead to an increase of the undecided population. Corresponding
decreases to the brand and rival populations are modeled according to a parameter α that
determines the proportion in which each population is depleted.
Similarly to what was done in Section 2.3, the optimal control problem associated
with the duopolistic version of the Three Populations model can be written as:
maximizeub, ur
Jbr(xb, xr, ub, ur, Tf ) (2.20a)
subject to xb = kbub + kbixbxi − αkbrxbxr, (2.20b)
xr = krur + krixrxi − (1− α)kbrxbxd, (2.20c)
xi = −kbub − kdud − kdixdxi − kbixbxi + kbrxbxr, (2.20d)
xb ≥ 0, (2.20e)
xr ≥ 0, (2.20f)
xi ≥ 0, (2.20g)
ub ≤ ubmax , (2.20h)
ub ≥ 0, (2.20i)
ur ≤ urmax , (2.20j)
ur ≥ 0 (2.20k)
where ubmax and udmax are the maximum advertising effort achievable for brand and
rival populations respectively. For brevity, the time arguments of all advertising and
market share were omitted.
11
The cost function in equation (2.20a) was chosen as:
Jbr(xb, xr, ub, ur, Tf ) =
Tf∫0
[cbxb(t)− ub(t) + crxr(t)− ur(t)] dt,
which is equivalent to the unweighted cost function adopted for simultaneous com-
petition in equation (2.11).
12
Chapter 3
Mathematical formulations and
numerical solution methods for
optimal control problems of
market share dynamics
In this chapter, we give a brief overview on the use of software JModelica.org [14] and
JuMP [15] to solve the dynamic optimization problem presented in the last section of
chapter 2. A sequential Game based on a Leader-Follower approach for the Duopoly
Competition using the Vidale-Wolfe-Deal advertising model is also discussed.
3.1 Solving dynamic optimization problems with
JModelica.org
JModelica.org is a tool targeting model-based analysis of large-scale dynamic sys-
tems, in particular dynamic optimization [2]. It uses the modeling language Modelica
to describe system dynamics, and Optimica, a Modelica language extension, to for-
mulate the optimization problem. Optimica allows the formulation of a continuous-
time optimal control problem in its natural form, with the tool handling the details
of the discretization in a manner that is transparent to the user, which can be rather
complex. The user’s job, thus, is considerably simplified.
3.1.1 Numerical methods for optimal control problems
In optimal control theory, there are many approaches to numerically solve optimiza-
tion problems. The earliest numerical methods date back to the late 50s and stem
from the works of Bellman [18–21] in Dynamic Programming. Since then, the com-
13
plexity and variety of optimal control applications has vastly increased. Nowadays,
the most widely used numerical methods for solving optimal control problems are
based on first-order necessary conditions for local optimality, and fall into two major
categories: direct and indirect methods.
Indirect methods start by establishing the optimality conditions. The ensuing
differential equations are then discretized and a numerical solution is found. The
optimality conditions are based on calculus of variations and Pontryagin’s maximum
principle [22, 23], and appear in the form of boundary value problems. The solution
of a boundary value problem is found by solving a system of difference equations
that satisfies endpoint and/or interior point conditions.
In an alternative approach, direct methods first discretize the dynamics and then
establish the optimality conditions. They reduce an infinite-dimensional problem
(continuous state space) to a finite-dimensional one (discrete state space) by tran-
scribing the original optimal control problem into a nonlinear programming problem
(NLP). The optimality conditions for the NLP are then given by the Karush-Kuhn-
Tucker (KKT) conditions.
Regardless of the approach, both direct and indirect methods require the solution
of difference equations in order to solve dynamic optimization problems. Therefore,
it is not uncommon to find the same numerical techniques being employed in both
approaches. An overview of numerical methods, based on [2], is presented in Figure
3.1.
Figure 3.1: Overview of decomposition of a continuous-time dynamic optimization prob-
lem, in the direct and indirect approaches, into discrete-time problems, solvable by the
numerical methods denominated shooting and collocation. Figure from [2], used with
permission.
Shooting and collocation are two of the most widespread methods often used
in direct and indirect approaches. The simplest form of shooting is called single
shooting and consists of making an initial guess of either the control parameters
(direct method) or the unknown boundary conditions at one end of the interval
(indirect method), and then integrating the resulting IVP (Initial Value Problem)
along the time horizon. If the specified conditions at the other end are not attained,
14
the initial guess is adjusted and the process is repeated. The name of the method
comes from the fact that it can be understood as basic feedback control employed
to set the angle of a cannon in order to hit a target [24]. If the target is missed, the
angle is adjusted based on the previous shot and the cannon is fired again.
Single shooting is an appealing method due to its simplicity, but can present
significant numerical difficulties since it is highly sensitive to the initial guess, prop-
agating its error as time marches. This may cause instability even when the bound-
ary value problem itself is well conditioned. The numerical robustness of single
shooting can be improved by dividing the time horizon into several subintervals.
This method is called multiple shooting, and essentially decouples the dynamics by
introducing interior point boundary values as variables and imposing linking con-
straints between adjacent subintervals. Single shooting is then applied within each
new subinterval. Despite the increased size of the problem due to the extra vari-
ables, multiple-shooting is an improvement over single shooting because integration
is performed over a significantly smaller time period, thus reducing the sensitivity
to errors in the initial guess. Nevertheless, even multiple shooting can present issues
unless a sufficiently good guess is given.
Collocation methods, on the other hand, consist on choosing a number of points
in the domain, called collocation points, and fitting a polynomial solution, up to a
chosen degree, while satisfying the imposed constraints at each collocation point.
There are different ways to choose collocation points, each resulting in a particular
stability and order of convergence. The most common ones are based on Gauss,
Radau and Lobatto quadratures [25].
In an indirect collocation method, state and adjoint variables are parameter-
ized using piecewise polynomials. The collocation procedure leads to a root-finding
problem where the dynamic constraints can be written as an algebraic vector of
the coefficients of the piecewise polynomial. This system of nonlinear equations is
then solved using an appropriate root-finding technique. The region of convergence
of indirect methods tends to be quite narrow, thus requiring good initial guesses,
including guesses of the adjoint functions. When a problem has inequality path
constraints, a priori estimates of the sequence of constrained arcs are needed, which
may be hard to find[3].
In a direct collocation method, the differential equations are discretized by defin-
ing a grid of N collocation points covering the time interval [t0, tf ] and the resulting
difference equations become a finite set of equality constraints of the NLP problem.
Figure 3.2 [3] illustrates the idea of a discretized control u and state x in the interval
t ∈ [t0, tf ], with t0 < t1 < t2 < · · · < tN = tf . The NLP problems that arise from
direct collocation can be very large, having possibly hundreds of thousands of vari-
ables and constraints. However, they are usually quite sparse, making them easier
15
to solve than boundary value problems. Moreover, there is no need to explicitly
derive the necessary conditions of the continuous problem, which is more attractive
in complex cases, and they do not require an a priori specification of the sequence
of constrained arcs in problems with inequality constraints [3].
Figure 3.2: Control u and state x discretized in the interval t ∈ [t0, tf ]. Figure from [3],
used with permission (please see Appendix C).
When using Runge-Kutta methods for discretization, collocation is said to si-
multaneously solve differential equations because all the unknown parameters are
determined at the same time. Furthermore, collocation methods simulate the dy-
namics of the system implicitly because the values of the state at each collocation
point are obtained simultaneously rather than sequentially [24].
Collocation methods can be either local, where the time horizon is divided into
subintervals and low-order polynomials are used to approximate the trajectories
within each time frame, or global, where a single high-order polynomial is used over
the entire time horizon.
JModelica.org uses a method based on direct local collocation, with support for
Gauss and Radau points, to transcribe the problem into a NLP. A local optimum
to the NLP is then found by solving the first-order KKT conditions, using iterative
techniques based on Newton’s method [2]. JModelica.org uses CasADi [26] (Com-
puter algebra system with Automatic Differentiation) in order to obtain first and
second-order derivatives of the NLP cost and constraint functions with respect to
its variables. CasADi offers interfaces to third-party numerical optimization solvers
16
such as IPOPT [27].
Figure 3.3 shows the compilation process in JModelica.org. It starts with the
user-provided Modelica and Optimica code. The Modelica model is then flattened in
order to get a representation that is closer to a differential algebraic equation (DAE)
system. The flat representation essentially consists of only variable declarations and
equations. The compilation process ends with a symbolic representation of the NLP
in CasADi [2].
Figure 3.3: Compilation Process in JModelica.org for Dynamic Optimization Problems.
Figure from [2], used with permission
3.2 Solving dynamic optimization problems with
JuMP
JuMP is an AML (Algebraic Modeling Language) – a computer programming lan-
guage that allows users to express a wide range of optimization problems (linear,
mixed-integer, quadratic, conic-quadratic, semidefinite, and nonlinear) in a high-
level algebraic syntax – embedded in Julia [28], which is a general purpose high
level language for scientific computation. It provides not only an efficient open-
source alternative to commercial systems but also takes advantage of a number
of features of Julia which are unique among programming languages for scientific
computing [15].
For instance, in most languages other than Julia, the most common approach to
capture user’s input is operator overloading. Essentially, it extends the language’s
definition of basic arithmetical operators to build data structures representing ex-
pressions. Unfortunately, this method leads to an increase in complexity as it needs
to store, for example, constants, coefficient vectors, index sets and decision variables
in order to build math like statements. As a result, simple operations like addition
and subtraction are no longer fast, constant-time operations; a property which is
usually overlooked in the case of floating-point numbers. JuMP, on the other hand,
does not rely on operator overloading when capturing a user’s input, instead turning
to an advanced feature of Julia called syntactic macros.
17
As in Lisp, the input of a macro is a data structure of the language itself, not
just a string of text. By defining variables, constraints and objective as macros,
JuMP provides a natural syntax for algebraic modeling without the need of a cus-
tom text-based parser and drawbacks related to operator overloading. Moreover,
JuMP is able to efficiently process large-scale problems by exploiting well-known
structural properties since the code is represented by objects that can be created
and manipulated from within the language
JuMP uses techniques from automatic differentiation (AD) to evaluate deriva-
tives of user-defined expressions and is designed to be extensible, allowing for devel-
opers both to plug in new solvers, such as IPOPT, for existing problem classes and
to extend the syntax of JuMP itself to new classes of problems. This also allows
users to test the efficiency of different solvers for a specific problem, without the
need to rewrite the whole code.
Due primarily to the compilation time, JuMP has a noticeable start-up cost of
a few seconds even for the smallest instances. However, if a family of models is
solved multiple times within a single session, this cost of compilation is only paid
for the first time that an instance is solved. Therefore, when solving a sequence
of instances in a loop, the amortized cost of compilation is negligible. This is a
particularly attractive feature considering the Stackelberg competition described in
Section 3.3 will essentially require solving two different models that differ only on
the right-hand side coefficients of the constraints at each iteration.
3.2.1 Discretization of the Vidale-Wolfe-Deal advertising
model
Unlike JModelica.org, that allows the optimal control problem to be formulated in
its continuous form, JuMP requires the formulation to be discretized.
Discretization of the optimal control problem for both monopoly and duopoly
models, presented in section 2.3, is a fairly straightforward procedure that can be
done using different techniques. In this work we used the Forward Euler Method,
that adopts the following approximation:
y =dy
dt≈ y(k + 1)− y(k)
∆t(3.1)
Applying the approximation shown in (3.1) to the equation (2.3) results in the
discretized version of equation (2.12b):
18
xi(k + 1) = xi(k) + fi,k(x1, x2, ui); i = 1, 2.
where:
fi,k(x1, x2, ui) = ∆t[riui(k)(1− x1(k)− x2(k))− λixi(k)].
Discretization of the net gain cost function, equation (2.10), can be achieved by
simply approximating the integration to the sum of the net gain at all N intervals
as shown:
Ji(xi, ui, N) =N∑k=1
(cixi(k)− ui(k)); i = 1, 2.
Consequently equation (2.11) becomes:
J12(x1, x2, u1, u2, N) = J1(x1, u1, N) + µJ2(x2, u2, N)
Thus, the optimal control problem can be described by equations (2.12a - 2.12f)
can be discretized as:
maximizeu1, u2
J12(x1, x2, u1, u2, N) (3.2a)
subject to x1(k + 1) = x1(k) + f1,k(x1, x2, u1); k = 1, ..., N, (3.2b)
x2(k + 1) = x2(k) + f1,k(x1, x2, u2); k = 1, ..., N, (3.2c)
x1(k) + x2(k) ≤ 1 k = 1, ..., N + 1, (3.2d)
x1(k) ≥ 0; k = 1, ..., N + 1, (3.2e)
x2(k) ≥ 0; k = 1, ..., N + 1, (3.2f)
u1(k) ≤ u1max ; k = 1, ..., N, (3.2g)
u1(k) ≥ 0; k = 1, ..., N, (3.2h)
u2(k) ≤ u2max ; k = 1, ..., N, (3.2i)
u2(k) ≥ 0; k = 1, ..., N (3.2j)
The formulation (3.2a - 3.2j) is easy to understand and natural; however, it is
not in the standard form acceptable as input to most mathematical programming
solvers. When using a solver for such problems, the latter should be rewritten in
standard NLP form [29], i. e., writing all constraints for all variables at all instants.
For this particular and relatively small discrete NLP, it means writing all 9N + 3
constraints explicitly. This can become quite a tedious task for problems with a
large number of variables or with small sampling time, even when taking advantage
of block matrix notation as shown below.
The corresponding NLP can be written compactly in matrix form as follows:
19
maximizez
cT z
subject to r(z) = 0,
Az ≤ U ,
Az ≥ L
where:
c =
c1...
c1
0
c2...
c2
0
−1
...
−1
z =
x1(1)...
x1(N)
x1(N + 1)
x2(1)...
x2(N)
x2(N + 1)
u1(1)...
u1(N)
u2(1)...
u2(N)
r(z) =
x1(2)− x1(1)− f1,1(x1, x2, u1)...
x1(N + 1)− x1(N)− f1,N(x1, x2, u1)
x2(2)− x2(1)− f2,1(x1, x2, u2)...
x2(N + 1)− x2(N)− f2,N(x1, x2, u2)
L =
0
...
0
A =
IN+1 IN+1
IN+1
IN+1
IN
IN
U =
1...
1
uN1max
uN2max
20
such that A is a sparse matrix with all elements left in blank being equal to zero, IN
is the N ×N identity matrix and uNimaxis the N × 1 vector with all elements equal
to uimax .
In this context, the most attractive feature of JuMP is that it allows optimization
problems to be formulated not only in its matrix form above, which can be advan-
tageous for simpler problems, but also in its concise and more natural form (3.2a -
3.2j), which includes handling constraints inside a loop. In this work, we will tran-
scribe all the optimization problems studied into standard form NLPs for the sake
of completeness. However, all coding in Julia was done using natural formulation
(3.2a - 3.2j).
Analogously, the optimization problem for a monopolistic firm described by equa-
tions (2.13a - 2.13f) can be discretized as:
maximizeu
J(x, u,N) =N∑k=1
(cx(k)− u(k)) (3.3a)
subject to x(k + 1) = x(k) + fk(x, u); k = 1, ..., N, (3.3b)
0 ≤ x(k) ≤ 1; k = 1, ..., N + 1, (3.3c)
0 ≤ u(k) ≤ umax; k = 1, ..., N (3.3d)
where:
fk(x, u) = ∆t[ru(k)(1− x(k))− λx(k)],
wich can be transcribed into the following NLP:
maximizez
cT z
subject to r(z) = 0,
Az ≤ Ub,
Az ≥ Lb
c =
c1...
c1
0
−1...
−1
z =
x(1)...
x(N)
x(N + 1)
u(1)...
u(N)
21
r(z) =
x(2)− x(1)− f1(x, u)
...
x(N + 1)− x(N)− fN(x, u)
L = 0 2N+1 A = I2N+1 U =
[1N+1
uNmax
]
where 0N and 1N denote the N × 1 vectors with all elements equal to 0 and 1,
respectively.
Clearly, constraints (3.2b) and (3.2c) in the duopoly model and (3.3b) in the
monopoly model are nonlinear. This knowledge leads to two questions: Is the
feasible region convex? If the feasible region is non-convex, how does it affects the
optimal solution?
To answer these questions we will analyze the simpler of the two models, the
Vidale-Wolfe monopoly model.
Let us write equations (3.3a - 3.3d) for N = 2. For brevity, it is assumed ∆t = 1.
Cost function J in equation (3.2a) can be written as:
J = cx(2) + cx(1)− u(2)− u(1)
The dynamic constraint stated in equation (3.2b) becomes:
x(2) = x(1) + ru(1)− ru(1)x(1)− λx(1)
Lastly, the box constraints given by equations (3.2c) and (3.2d) can be summa-
rized as follows:
0 ≤ x(1)≤1
0 ≤ x(2)≤1
0 ≤ u(1)≤umax
0 ≤ u(2)≤umax
Since u(2) has a negative effect on the cost function that we seek to maximize
and it does not appear in the market share dynamics (as we limited N = 2 and
u(2) only affects the future state x(3), which is not considered), its optimum value
is obviously zero.
22
To simplify the analysis, let the optimization variables be renamed as:
x(1) = z1, x(2) = z2, u(1) = z3, u(2) = z4 = 0
The optimization problem to be solved can then be written as:
maximizez1, z2, z3
cz1 + cz2 − z3 (3.4a)
subject to z2 − (1− λ)z1 + rz1z3 − rz3 = 0, (3.4b)
0 ≤ z1 ≤ 1, (3.4c)
0 ≤ z2 ≤ 1, (3.4d)
0 ≤ z3 ≤ umax (3.4e)
Writing equation (3.4b) in its algebraic form yields:
zTAz + bT z = 0,
where:
z =
z1z2z3
, A =
0 0 12r
0 0 012r 0 0
, b =
λ− 1
1
r
Matrix A is symmetric with zeros on the principal diagonal. Since its principal
diagonal is null, matrix A can, at best, be positive semi-definite. To show that this
can not be the case, consider its sub-matrix:[0 1
2r
12r 0
]
This sub-matrix has eigenvalues ±12r, violating the necessary condition for pos-
itive semi-definiteness. This guarantees the indefiniteness of matrix A, which could
imply non-convexity of the zero set (3.4b).
Examining further the dynamic constraint (3.4b), note that, since the optimiza-
tion variable z2 occurs by itself in the constraint, it can be chosen as a free parameter
(called, say, σ ∈ [0, 1]) in order to investigate the relation between z1 and z3. This
leads to:
σ − (1− λ)z1 + rz1z3 − rz3 = 0
Rearranging z1 as a function of z3 and the parameter σ yields:
23
z1 =rz3 − σ
rz3 − (1− λ)
Renaming rz3 = φ, such that φ ∈ [0, r], and (1 − λ) = γ, such that γ ∈ [0, 1],
leads to the simplified expression:
z1 =φ− σφ− γ
Since z1 ∈ [0, 1], if σ < γ, then φ ≤ σ. Otherwise, if σ > γ, then φ ≥ σ.
Therefore, in summary:
∀z1 ∈ [0, 1] : z2 < (1− λ) =⇒ rz3 ≤ z2
∀z1 ∈ [0, 1] : z2 > (1− λ) =⇒ rz3 ≥ z2
Nonetheless, z1 is the initial market share of a firm. Because it assumes a fixed
value, the optimization variable can be replaced by a constant (called δ ∈ [0, 1]).
Because z1 is fixed, the feasible region is given defined by the line:
z2 = r(1− δ)z3 + (1− λ)δ (3.5)
delimited by the box constraints.
Substituting equation (3.5) in the cost function (3.4a) yields:
J = αz3 + β
where:
α = cr(1− δ)− 1
β = c(2− λ)δ
For α ≤ 0, i.e δ ≥ 1 − 1/cr, the performance index J is maximum when z3 is
equal to zero. Otherwise, the maximum value of J occurs when z3 is maximum.
It is important to observe that the advertising effort z3 not only is limited by the
available budget (umax) but it is also constrained by the dynamics, i.e it can not
assume values that lead the final market share, z2, to be greater than unity. For
brevity, we refer to this threshold as udyn, which is given as follows:
udyn =1− (1− λ)δ
r(1− δ)
Hence, for α > 0, i.e δ < 1 − 1/cr, the performance index J is maximum when
z3 is equal to min (udyn, umax).
24
Although a little tedious, this argument can be generalized to the case when
N > 2. The general conclusion is that, for this particular problem, despite the
possible non-convexity of the zero set defined by the equality constraints (dynamics),
the analysis of the resulting mathematical programming problem is possible and
there are a finite number of possibilities, determined by the initial conditions and
parameters (c,r,λ) of the problem.
3.3 Sequential Game
This work proposes to study the sequential game based on leader-follower itera-
tion for duopoly competition using Vidale-Wolfe-Deal advertising model. The game
starts in a monopoly, with a single player, labeled Firm A, having an initial market
share equal to zero. Firm A will then select an advertising strategy that maximizes
its own net gain, ending the round. After the first round is over, Firm A becomes
the leader with a known (public) advertising strategy, u1a, and a final market share,
x1a(N + 1); where the notation x{u}ji reads market share {advertising strategy} for
firm i at round j. In the following round, a second player, labeled Firm B, joins the
market, which now becomes a duopoly. Firm B, the follower, knows u1a but starts
with an initial market share, x2b(1) = 0. Firm A, the leader, does not know Firm
B’s advertising efforts, repeats its previous successful strategy, u2a = u1a, and starts
the round with its latest achieved market share, x2a(1) = x1a(N + 1). Firm B will
then pick an advertising strategy, u2b , that maximizes its own net gain, taking into
account Firm A’s former strategy. For every subsequent round, the roles are re-
versed, the previous leader becomes the follower and the previous follower becomes
the leader. The follower always knows the leader’s strategy but the opposite is not
true. The leader will always repeat its previous advertising strategy and both will
start with the same market share they finished in the last round. The game ends if
equilibrium is reached, the optimal control problem becomes infeasible or a number
of predefined rounds is exceeded, whichever comes first. Figure 3.4 shows the block
diagram of the game just described.
The above sequential game is equivalent to solving one of three different, yet
similar, discrete optimization problems at specific rounds. The game begins with
Firm A, in a monopolistic market, maximizing its net gain by solving the problem
described by equations (3.3a - 3.3d). Then, whenever taking the role of follower,
Firm B maximizes its profit by adopting the optimal solution of the duopoly problem
given by equations (3.6a - 3.6j). Analogously, when roles are reversed and Firm A
becomes the follower, it adopts the optimal advertising strategy given by the solution
of the duopoly problem described by equations (3.7a - 3.7j).
Discretization of the optimal control problem for duopoly when Firm B takes
25
the role of follower can be written as:
maximizeujb
Jb(xjb, u
jb, N) =
N∑k=1
(cbxjb(k)− ujb(k)) (3.6a)
subject to xja(k + 1) = xja(k) + fa,k(xja, xja, u
ja); k = 1, ..., N, (3.6b)
xjb(k + 1) = xjb(k) + fb,k(xjb, xjb, u
jb); k = 1, ..., N, (3.6c)
xja(1) = xj−1a (N + 1), (3.6d)
xjb(1) = xj−1b (N + 1), (3.6e)
uja(k) = uj−1a (k); k = 1, ..., N, (3.6f)
xja(k) + xjb(k) ≤ 1 k = 1, ..., N + 1, (3.6g)
0 ≤ xja(k) ≤ 1; k = 1, ..., N + 1, (3.6h)
0 ≤ xjb(k) ≤ 1; k = 1, ..., N + 1, (3.6i)
0 ≤ ujb(k) ≤ ubmax ; k = 1, ..., N (3.6j)
Constraints (3.6d) and (3.6e), guarantee both initial market shares to be equal to
the final market shares in the last round (when firm B is first introduced, x1b(N+1) =
0). Meanwhile, constraint (3.6f) forces Firm A to repeat its previous advertising
strategy.
Similarly, the discretized optimization problem for duopoly when Firm A be-
comes the follower is given by:
maximizeuja
Ja(xja, u
ja, N) =
N∑k=1
(caxja(k)− uja(k)) (3.7a)
subject to xja(k + 1) = xja(k) + fa,k(xja, xja, u
ja); k = 1, ..., N, (3.7b)
xjb(k + 1) = xjb(k) + fb,k(xjb, xjb, u
jb); k = 1, ..., N, (3.7c)
xja(1) = xj−1a (N + 1), (3.7d)
xjb(1) = xj−1b (N + 1), (3.7e)
ujb(k) = uj−1b (k); k = 1, ..., N, (3.7f)
xja(k) + xjb(k) ≤ 1 k = 1, ..., N + 1, (3.7g)
0 ≤ xja(k) ≤ 1; k = 1, ..., N + 1, (3.7h)
0 ≤ xjb(k) ≤ 1; k = 1, ..., N + 1, (3.7i)
0 ≤ uja(k) ≤ ubmax ; k = 1, ..., N (3.7j)
26
The only differences aside from the objective, that now maximizes the net gain
of Firm A, are constraints (3.7f) and (3.7j), which mirror equations (3.6f) and (3.6j).
Their respective NLPs are given by:
maximizez
bT z
subject to r(z) = 0,
Az ≤ Ub,
Az ≥ Lb
where
b =
0...
0
cb...
cb
0
...
0
−1...
−1
z =
xja(1)...
xja(N)
xja(N + 1)
xjb(1)...
xjb(N)
xjb(N + 1)
uja(1)...
uja(N)
ujb(1)...
ujb(N)
r(z) =
xja(2)− xja(1)− fa,1(xja, xjb, u
ja)
...
xja(N + 1)− xja(N)− fa,N(xja, xjb, u
ja)
xjb(2)− xjb(1)− fb,1(xja, xjb, u
jb)
...
xjb(N + 1)− xjb(N)− f2,N(xja, xjb, u
jb)
27
Lb =
0N+1
xj−1a
0N
xj−1b
0N
uj−1a 1
N
0N
A =
IN+1 IN+1
IN+1
IN+1
IN
IN
Ub =
1N+1
xj−1a
1N
xj−1b
1N
uj−1a 1
N
uNbmax
And:
maximizez
aT z
subject to r(z) = 0,
Az ≤ Ua,
Az ≥ La
where:
a =
ca...
ca
0
...
0
−1...
−1
0...
0
z =
xja(1)...
xja(N)
xja(N + 1)
xjb(1)...
xjb(N)
xjb(N + 1)
uja(1)...
uja(N)
ujb(1)...
ujb(N)
28
r(z) =
xja(2)− xja(1)− fa,1(xja, xjb, u
ja)
...
xja(N + 1)− xja(N)− fa,N(xja, xjb, u
ja)
xjb(2)− xjb(1)− fb,1(xja, xjb, u
jb)
...
xjb(N + 1)− xjb(N)− f2,N(xja, xjb, u
jb)
La =
0N+1
xj−1a
0N
xj−1b
0N
0N
uj−1b 1
N
A =
IN+1 IN+1
IN+1
IN+1
IN
IN
Ua =
1N+1
xj−1a
1N
xj−1b
1N
uNamax
uj−1b 1
N
As can be seen, the differences between the two NLPs lie in the boundary values
and the elements of the constant vectors.
Start
Scenario: Monopoly
Scenario: Duopoly
Folllower: Firm A
Leader: Firm B
Leader: Firm A
Folllower: Firm B
Scenario: Duopoly
fuAg, xA(N + 1),xB(N + 1)
fuBg, xB(N + 1)xA(N + 1),
Optimize
Net Gain of
Firm A
Optimize
Net Gain of
Firm B
Figure 3.4: Block diagram of the Leader-Follower iteration.
29
Chapter 4
Numerical results of market share
optimization using mathematical
software JModelica and JuMP
In the previous chapter, we detailed the mathematical methods and software used
to solve the optimal control problem based on the Vidale-Wolfe model for monopoly
and Deal’s extended version for duopoly. In this chapter, we present and analyze
the numerical results obtained for these optimal control problems. In addition, we
examine the word-of-mouth and electronic word-of-moth effects on duopolies using
the modified Three Populations model discussed in Section 2.4.
Simulations were conducted as follows: Numerical results for monopoly and si-
multaneous co-operation in duopoly, including studies on the Three Populations
model, were obtained using JModelica.org. The sequential game based on Leader-
Follower iteration proposed in Section 3.3 was implemented in Julia, using the pack-
age JuMP. The choice of JuMP was made because we could not find a way, when
using JModelica.org, to force one firm to repeat its previous advertising strategy
in the following round – despite JModelica.org also allowing an easy, natural and
concise formulation of the optimal control problem and not requiring discretization.
Solver IPOPT was used with both JModelica and JuMP software in all simulations.
4.1 Monopoly results
While the scope of this work is to study the optimal control of the Vidale-Wolfe-Deal
advertising model in duopolies, we begin our analysis by simulating the dynamic
optimization problem for monopoly, which also happens to be the opening round in
our sequential game, and then comparing our results to those proved by SETHI and
THOMPSON[4] using Green’s Theorem.
30
The initial conditions and parameters adopted in the simulation, such as maxi-
mum revenue potential (c), response to the advertising effort (r), sales exponential
decay (λ), maximum advertising budget (umax) and initial market share (x0), are
displayed in Table 4.1.
Table 4.1: Initial Conditions and Parameters for the Monopoly.
Initial Conditions and Parameters ValueMaximum revenue potential c 100
Response to advertising effort r 1.2Sales decay λ 0.2
Maximum advertising budget umax 10Initial market share x0 10%
Figure 4.1 portrays the optimal solution [4] when x0 ≤ xS and xS ≥ xT . As
can be seen, the optimal trajectory can be divided into three different regions:
convergence, stability and decay. During convergence, the market share goes from its
initial state to an equilibrium point and the optimal advertising, u∗, takes the value
of Q which is equivalent to the maximum advertising budget, umax. At stability,
the control action becomes constant and the dynamic system enters steady-state.
Lastly, the advertising is suspended and the market share starts to decay due to the
effect of λ.
Figure 4.1: Optimal trajectory solution when x0 ≤ xS and xS ≥ xT . Figure from [4],
used with permission (please see Appendix C).
31
0.0 0.2 0.4 0.6 0.8 1.0Time
0
2
4
6
8
10
12
Adv
ertis
ing (u)
Figure 4.2: Evolution of the Advertising (control action) in a monopoly. The firm initially
spends its maximum advertising limit (u∗ = umax = Q = 10) in order to reach the
optimal market share as fast as possible. Then, it reduces advertising investments to
u∗ = uS = 3.9160 in order to maintain equilibrium. In the end, it ceases investments
altogether (u∗ = 0) to increase its profit since decay of the market share is slow. This
behavior matches the analytical solution portrayed in in Figure 4.1.
0.0 0.2 0.4 0.6 0.8 1.0Time
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
Marke
t Sha
re (x
)
Figure 4.3: Evolution of the Market Share in a monopoly. The market share of the firm
starts at x0 = 0.1, stabilizes at xS = 0.9592 (= optimal market share) and finishes at
xT = 0.92. This behavior matches the analytical solution portrayed in Figure 4.1.
32
0.0 0.2 0.4 0.6 0.8 1.0Time
0
20
40
60
80
100
Net G
ain Derivative (J
′ )
Figure 4.4: Profit curve in a monopoly. The area below the curve gives the total Net
Gain (J). As can be seen, ceasing to advertise near the end of the time window (t ≈ 0.78)
increases the performance index J .
Figure 4.3 shows the evolution of the market share in response to the simulated
optimal advertising strategy, depicted in Figure 4.2.
Both simulated advertising and market share behave similarly to the analytical
solution in Figure 4.1. Aside from the transient oscillations when moving to a
different region, the optimal advertising strategy took the value of umax = 10 during
convergence, stabilized at approximately uS = 3.9160 and became zero at the end
of simulation. This last behavior is explained because the slow decay of market
share while ceasing advertising completely results in a momentary bigger profit than
keeping the system in steady-state until the end, as shown in Figure 4.4. In response
to this optimal advertising strategy, market share quickly converged from the initial
value of 10% to approximately xS = 95.92%, finishing around xT = 92% after the
decay.
The equilibrium point xS and the final market share xT , adopting Sethi notations,
depend on parameters c, r and λ. To better understand the effects of each parameter
we ran a series of simulations varying one of them at a time while fixing the other
two at the values presented in Table 4.1. Figures 4.5 through 4.10 plot the results
of varying c, r and λ against xS and the gap between xS and xT .
33
20 40 60 80 100Maximum Revenue Potential (c)
0.86
0.88
0.90
0.92
0.94
0.96
0.98
Equilib
rium Point ( x
S)
Figure 4.5: Maximum Revenue Potential (c) × Equilibrium Point(xS). Plot shows how
the equilibrium point (xS) changes as the maximum revenue potential constant (c) varies
from 10 to 110.
20 40 60 80 100Maximum Revenue Potential (c)
0.03
0.04
0.05
0.06
0.07
0.08
0.09
0.10
0.11
0.12
Gap ( x
S−x
T
)
Figure 4.6: Maximum Revenue Potential (c) × Gap(xS − xT
). Plot shows how the
distance (gap) between the equilibrium point (xS) and the final market share (xT ) narrows
as the maximum revenue potential constant (c) is increased from 10 to 110.
34
0.6 0.8 1.0 1.2 1.4Response Constant (r)
0.935
0.940
0.945
0.950
0.955
0.960
0.965
Equilib
rium Point ( x
S)
Figure 4.7: Response Constant (r) × Equilibrium Point(xS). Plot shows how the
equilibrium point (xS) changes as the response constant (r) varies from 0.5 to 1.5.
0.6 0.8 1.0 1.2 1.4Response Constant (r)
0.035
0.040
0.045
0.050
0.055
0.060
Gap
( xS−x
T
)
Figure 4.8: Response Constant (c) × Gap(xS − xT
). Plot shows how the distance (gap)
between the equilibrium point (xS) and the final market share (xT ) narrows as the response
constant (r) is increased from 0.5 to 1.5.
35
0.0 0.2 0.4 0.6 0.8 1.0Decay Constant (λ)
0.90
0.92
0.94
0.96
0.98
1.00
Equilib
rium Point ( x
S)
Figure 4.9: Sales Decay (λ) × Equilibrium Point(xS). Plot shows how the equilibrium
point (xS) changes as the sales decay constant (λ) varies from 0 to 1.
0.0 0.2 0.4 0.6 0.8 1.0Decay Constant (λ)
0.00
0.02
0.04
0.06
0.08
Gap
( xS−x
T
)
Figure 4.10: Sales Decay (c) × Gap(xS − xT
). Plot shows how the distance (gap)
between the equilibrium point (xS) and the final market share (xT ) widens as sales decay
constant (λ) is increased from 0 to 1.
36
4.2 Duopoly results
After validating the simulated results obtained for monopoly, we extend our anal-
ysis to optimal control problems using Vidale-Volfe-Deal and Three Populations
advertising models for duopoly. The analysis is split into two different parts: simul-
taneous co-operation (for both models) and sequential game competition (only for
the Vidale-Wolfe-Deal model).
4.2.1 Simultaneous co-operation
Vidale-Wolfe-Deal model
The optimal control problem described by equations(2.12a - 2.12f) can be understood
as a co-operation between two equivalent firms, labeled Firm A and Firm B, because
its objective is maximizing both net profits. Co-operation between the two is said
to be simultaneous because both firm’s net profits are maximized at the same time.
Limitation of both firms being equivalent comes from the nature of the optimization
problem itself. If both profits are weighted equally and one is more profitable (better
parameters) than the other, optimal solution will pursue the more favorable goal
while neglecting the other entirely. This happens because the final objective is
not affected by which firm the profit comes from. Thus, the problem would behave
similarly to a monopoly unless constraints that regulate the market and/or a penalty
for such behavior are imposed. This limitation may look strict at first, however, the
manner in which companies are perceived by consumers changes within each local
market. Hence, one can view two firms that share the same parameters as two firms
that perform similarly on average in a more sizable market.
Table 4.2: Initial Conditions and Parameters for the Duopoly Co-op (Vidale-Wolfe-Deal).
Initial Conditions and Parameters 1 2Firm A maximum revenue potential (ca) 100 100Firm B maximum revenue potential (cb) 100 100
Cost function weight (µ) 1 1Firm A response to advertising effort (ra) 1.2 1.2Firm B response to advertising effort (rb) 1.2 1.0
Firm A sales decay (λa) 0.2 0.1Firm B sales decay (λb) 0.2 0.2
Firm A maximum advertising budget (uamax) 10 5Firm B maximum advertising budget (ubmax) 10 20
Firm A initial market share (xa0) 10% 10%Firm B initial market share (xb0) 10% 10%
37
Simulation of the Vidale-Wolfe-Deal duopoly model regarding co-operation were
conducted adopting the parameters displayed column 1 of Table 4.2. Figures 4.11
and 4.12 show respectively the simulated market share and optimal advertising strat-
egy for firm A when both firms are equivalent. The corresponding results for firm B
can be seen in Figures 4.13 and 4.14. Both firms displayed identical results for adver-
tising at steady-state(uSa = uSb = 1.9624
)and, consequently, shared the same market
share at equilibrium(xSa = xSb = 47.96%
)and final market share (xaT = xbT = 46%).
While it is not surprising that firms A and B displayed the same behavior, it is in-
teresting to observe that each firm employed a strategy almost equal to half the
optimal advertising effort found for monopoly (uS = 3.9160), thus, achieving half
the monopoly equilibrium (xS = 95.92%) and final market share (xT = 92%).
To verify the limitation of both firms being equivalent, we considered a sce-
nario (column 2 of Table 4.2) were Firm A has a faster response to advertising
(ra > rb), a slower sales decay (λa < λb) but a smaller maximum advertising budget
(uamax < ubmax) compared to Firm B. Figure 4.15 shows the evolution of the market
shares of both firms, starting at (xa0 = xb0 = 10%). The market share of Firm B
experiences a brief and rapid grow due to the bigger maximum budget, which allows
to increase the joint profit (objective) early. Then, advertising of Firm B is ceased,
its market share exponentially decreases as a direct result of the sales decay and the
optimal control problem behaves similar to a monopoly of Firm A.
0.0 0.2 0.4 0.6 0.8 1.0Time
0.0
0.1
0.2
0.3
0.4
0.5
Market S
hare of F
irm A (x
a)
Figure 4.11: Market Share of Firm A in a duopoly: Co-operative scenario where ra = rb,
λa = λb and uamax = ubmax . The values of parameters are displayed in column 1 of Table
4.2. Market share of A stars at xa0 = 0.1 per initial condition, stabilizes at xSa = 0.4796
(= optimal market share) and finishes at xaT = 0.46.
38
0.0 0.2 0.4 0.6 0.8 1.0Time
0
2
4
6
8
10
Adv
ertis
ing of Firm
A (u
a)
Figure 4.12: Advertising of Firm A in a duopoly: Co-operative scenario where ra = rb,
λa = λb and uamax = ubmax . The values of parameters are displayed in column 1 of Table
4.2. The optimal advertising strategy begins with u∗a = umax = 10, is brought down to
u∗a = uSa = 1.9264 as the dynamic system enters steady-state, and is ceased (u∗a = 0) near
the end in order to increase its profit since decay of the market share is slow.
0.0 0.2 0.4 0.6 0.8 1.0Time
0.0
0.1
0.2
0.3
0.4
0.5
Market S
hare of F
irm B (x
b)
Figure 4.13: Market Share of Firm B in a duopoly: Co-operative scenario where ra = rb,
λa = λb and uamax = ubmax . The values of parameters are displayed in column 1 of Table
4.2. Market share of B starts at xb0 = 0.1 per initial condition, stabilizes at xSb = 0.4796
(= optimal market share) and finishes at xbT = 0.46.
39
0.0 0.2 0.4 0.6 0.8 1.0Time
0
2
4
6
8
10
Adv
ertising of Firm
B (u
b)
Figure 4.14: Advertising of Firm B in a duopoly: Co-operative scenario where ra = rb,
λa = λb and uamax = ubmax . The values of parameters are displayed in column 1 of Table
4.2. The optimal advertising strategy begins with u∗b = umax = 10, is brought down to
u∗b = uSa = 1.9264 as the dynamic system enters steady-state, and is ceased (u∗b = 0) near
the end in order to increase its profit since decay of the market share is slow.
0 2 4 6 8 10 12 14 16Time
0.0
0.2
0.4
0.6
0.8
1.0
Market S
hare
Firm AFirm B
Figure 4.15: Market shares of firms A and B in a duopoly: Co-operative scenario where
ra > rb, λa < λb and uamax < ubmax , resulting in crossover of market share dominance
from firm B to firm A at around 2.5 time units. Parameters adopted for both firms are
displayed in column 2 of Table 4.2.
40
Figure 4.16 shows the results of varying µ in equation (2.12a). We considered
µ ∈ [0.5, 1.5] and used a step of 0.01 to explore the interval. It is worth noticing
that even small changes in µ tilt the scales in favor of one firm or the other. For
µ = 1 both firms accounted for half of the total net gain (profit). For µ < 1, the
optimal control problem became similar to the monopoly of Firm A. Conversely, for
µ > 1, it became similar to the monopoly of Firm B.
0.0 0.2 0.4 0.6 0.8 1.0Normalized Net Gain (Firm B)
0.0
0.2
0.4
0.6
0.8
1.0
Normalized N
et G
ain (Firm
A)
µ<1
µ>1
µ=1
0.020 0.025 0.030 0.035 0.040 0.045 0.0500.950
0.955
0.960
0.965
0.970
0.975
0.980
0.954 0.956 0.958 0.960 0.962 0.964 0.966 0.968 0.970Normalized Net Gain (Firm B)
0.0300.0320.0340.0360.0380.0400.0420.0440.046
Figure 4.16: Variation of the µ parameter when ra = rb, λa = λb and uamax = ubmax .
The plot on the left side shows how small variations of µ affect the normalized net gains
of Firm A (ordinate) and Firm B (abscissa). For µ = 1, each firm accounts for 50% of the
total net gain. Plots on the right detail the changes on both net gains for µ < 1 (top) and
µ > 1 (bottom).
Three Populations model
Results obtained for the simultaneous co-operation in duopoly using the Vidale-
Wolfe-Deal model showed that the total market share of firms A and B was 95.92%(xSa = xSb = 47.96%
)at equilibrium. Even when discarding the assumption of both
firms being equivalent (same parameters), the sum of both market shares never
surpassed 97.54%. This raises the question as to where the remaining costumers
went. The Three Populations model answers the question by modeling a third
population of undecided costumers and by implicitly imposing constraint (2.14),
since its dynamics result in a zero-sum game (see Section 2.4).
The optimal control problem for simultaneous co-operation using the duopolis-
tic version of the Three Populations model is described by equations(2.20a-2.20k).
Repeating the methodology adopted for the Vidale-Wolfe-Deal model, we start our
analysis by first investigating the optimal response to the system dynamics when
both firms are considered equivalent. Column 1 of Table 4.3 comprise the initial
41
conditions and parameters adopted in our simulations for this scenario.
Table 4.3: Initial Conditions and Parameters for the Duopoly Co-op (Three Populations).
Initial Conditions and Parameters 1 2Brand maximum revenue potential (cb) 100 100Rival maximum revenue potential (cr) 100 100
Brand growth rate (kb) 1.0 1.2Rival growth rate (kr) 1.0 1.0
Undecided-to-Brand flow rate (kbi) 1.0 1.0Undecided-to-Rival flow rate (kri) 1.0 1.0
Brand-Rival decay rate (kbr) 1.0 1.0Brand-Rival decay proportion(α) 0.5 0.5
Brand maximum advertising budget (ubmax) 1 5Rival maximum advertising budget (urmax) 1 20
Brand initial market share (xb0) 10% 10%Rival initial market share (xr0) 10% 10%
Undecided initial market share (xi0) 80% 80%
Figures 4.17, 4.19 and 4.21 show the market share’s evolution for the brand,
rival and undecided populations respectively. Albeit starting with 80% of the to-
tal market, the undecided population quickly became extinct due to the predation
of both brand and rival. The two co-operating firms (brand and rival) split the
market evenly, each firm finishing with 50%, which is fairly reasonable given both
firms share the exact same parameters. Furthermore, the optimal advertising ef-
fort of brand and rival, shown in Figures 4.18 and 4.20, exhibited a pattern similar
to the responses obtained for the Vidale-Wolfe monopoly model (Figure 4.2) and
Vidale-Wolfe-Deal duopoly model (Figures 4.12 and 4.14), i.e., full advertising until
reaching the optimal point of operation, followed by reducing the advertising ef-
fort just enough to stabilize the system at that optimal point (turnpike) and, then,
ceasing advertising near the end of the time window in order to increase the profit
without losing too much market share, due to the slow decay of the latter.
The maximum advertising budget for brand (ubmax) and rival (urmax) firms were
set at 1 for the sole purpose of improving the visualization of the optimal control
response. Setting the values at 10, in accordance to previous simulations, only causes
the optimal equilibrium, which remains the same (xb = xr = 50%), to be reached
faster.
For comparison and completeness, we also considered a scenario where brand an
rival are no longer equivalent: kb > kr and (ubmax) < (urmax). This means brand
population increases faster per unit of advertising spent meanwhile the rival firm
has a bigger budget to work with. The values adopted for all parameters are shown
in column 2 of Table 4.3. Figure 4.22 displays the market share’s evolution for the
42
three populations. Again, the undecided population is preyed upon by brand and
rival populations and quickly driven to extinction. In agreement with the numerical
results shown in Figure 4.15, we also notice a initial surge of the rival population,
which is explained by the bigger advertising budget available. As the undecided
population vanishes, the dynamics shift entirely in favor of the brand (the most
profitable of the two firms). Consequently, the rival population is also extinct and the
whole market is comprised solely of the brand population, resulting in a monopoly.
This dissertation concludes its studies on the Three Population model for
duopolies by analyzing the effects of varying the parameter α. Recapitulating Sec-
tion 2.4, the parameter α determines the proportion of which brand and rival pop-
ulations are depleted after each encounter between the two. At the extremes, α = 0
indicates only the rival population is depleted and, conversely, α = 1 indicates
only the brand population is depleted. For α = 0.5, both populations are depleted
equally. Figure 4.23 shows how varying α between 0 and 1, using a step of 0.01
to explore the interval, affects the normalized net gain (profit) of each firms. Even
under the premise of brand and rival being equivalent, any small deviation from
α = 0.5 tilted the scales in favor of a firm or the other.
0.0 0.5 1.0 1.5 2.0Time
0.1
0.2
0.3
0.4
0.5
Market S
hare Brand
(xb)
Figure 4.17: Market share of the Brand in a duopoly: Co-operative scenario where kb = krand ubmax = urmax . Parameters adopted for both firms are displayed in column 1 of Table
4.3.
43
0.0 0.5 1.0 1.5 2.0Time
0.0
0.2
0.4
0.6
0.8
1.0
Adv
ertising Brand
(ub)
Figure 4.18: Advertising effort of the Brand in a duopoly: Co-operative scenario where
kb = kr and uamax = ubmax . Parameters adopted for both firms are displayed in column 1
of Table 4.3. The pattern of the optimal advertising response is similar to those obtained
using Vidale-Wole monopoly model and Vidale-Wolfe-Deal duopoly model.
0.0 0.5 1.0 1.5 2.0Time
0.1
0.2
0.3
0.4
0.5
Market S
hare Rival (x
r)
Figure 4.19: Market share of the Rival in a duopoly: Co-operative scenario where kb = krand ubmax = urmax . Parameters adopted for both firms are displayed in column 1 of Table
4.3.
44
0.0 0.5 1.0 1.5 2.0Time
0.0
0.2
0.4
0.6
0.8
1.0
Adv
ertis
ing Rival (u
r)
Figure 4.20: Advertising effort of the Rival in a duopoly: Co-operative scenario where
kb = kr and uamax = ubmax . Parameters adopted for both firms are displayed in column 1
of Table 4.3. The pattern of the optimal advertising response is similar to those obtained
using Vidale-Wole monopoly model and Vidale-Wolfe-Deal duopoly model.
0.0 0.5 1.0 1.5 2.0Time
0.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
Market S
hare Und
ecided (x
i)
Figure 4.21: Market share of the Undecided in a duopoly: Co-operative scenario where
kb = kr and ubmax = urmax . Parameters adopted for both firms are displayed in column 1
of Table 4.3.
45
0 2 4 6 8 10 12Time
0.0
0.2
0.4
0.6
0.8
1.0
Market S
hare
BrandRivalUndecided
Figure 4.22: Evolution of the market shares of Brand, Rival and Undecided populations in
a duopoly: Co-operative scenario where kb > kr and ubmax < urmax . Parameters adopted
for both firms are displayed in column 2 of Table 4.3.
0.0 0.2 0.4 0.6 0.8 1.0Normalized Net Gain (Rival)
0.0
0.2
0.4
0.6
0.8
1.0
Normalized N
et G
ain (B
rand
)
α<0.5
α>0.5
α=0.5
0.040 0.045 0.050 0.055 0.060 0.065 0.070 0.075 0.080 0.085
0.92
0.93
0.94
0.95
0.96
0.92 0.93 0.94 0.95 0.96Normalized Net Gain (Rival)
0.0400.0450.0500.0550.0600.0650.0700.0750.0800.085
Figure 4.23: Variation of the α parameter when kb = kr and ubmax = urmax . The plot
on the left side shows how small variations of α affect the normalized net gains of Brand
(ordinate) and Rival (abscissa). For α = 0.5, both populations are depleted equally at
every encounter and each firm accounts for 50% of the total net gain. Plots on the right
detail the changes on both net gains for α < 0.5 (top) and α > 0.5 (bottom).
46
4.2.2 Sequential game competition
Competition, as described in Section 3.3, was simulated considering three different
scenarios. In Scenario I, Firms A and B are considered equivalent, sharing the same
maximum potential revenue (ca = cb), response to advertising (ra = rb), sales decay
(λa = λb) and maximum advertising budget (uamax = ubmax). In Scenario II, Firm A
is considered having a more recognizable brand which results in a faster response to
advertising (ra > rb) and a slower sales decay (λa < λb). Lastly, In Scenario III, Firm
A still has a more recognizable brand but Firm B has unlimited advertising budget
(uamax << ubmax). Table 4.4 summarizes the parameters and initial conditions for
each scenario.
Table 4.4: Initial Conditions and Parameters for the Duopoly Competition (Stackelberg).
Initial Conditions and ParametersScenarios
I II IIIFirm A maximum revenue potential (ca) 100 100 100Firm B maximum revenue potential (cb) 100 100 100
Cost function weight (µ) 1 1 1Firm A response to advertising effort (ra) 1.2 1.2 1.2Firm B response to advertising effort (rb) 1.2 1.0 1.0
Firm A sales decay (λa) 0.1 0.1 0.1Firm B sales decay (λb) 0.1 0.15 0.15
Firm A maximum advertising budget (uamax) 25 25 25Firm B maximum advertising budget (ubmax) 25 25 ∞
Firm A initial market share at round 1 (x1a(1)) 0% 0% 0%Firm B initial market share at round 2 (x2b(1)) 0% 0% 0%
Figure 4.24 depicts the initial market share for Firm A and Firm B in Scenario
I at the beginning of each round, from rounds 1 through 150. Since their initial
market share at each round is their final market share at the previous one, it is
possible to observe that competition leads to an equilibrium around 50% (47.18%
for Firm A and 47.13% for Firm B) market share for both firms A and B, when they
adopt the strategy of maximizing their net gains. This result is not only strikingly
close to the result obtained for simultaneous competition but is also supported by
the results obtained by DEAL [7].
Figure 4.25 shows the average advertising effort of each firm in Scenario I at
every round. We can see that the average optimal advertising of Firm A and Firm
B converged at ua = ub = 1.
Next, we investigated what would happen when the two firms in the duopoly are
not equivalent anymore. Figures 4.26 and 4.27 illustrate the results of initial market
share and average advertising at every round, considering Scenario II. As one would
47
have expected, the equilibrium no longer is at midpoint. Firm A, which has a faster
response to advertising and a slower sales decay finished with approximately 67.94%
of the available market, meanwhile Firm B secured only 26.45%. The averages of
both optimal advertising strategy converged, with Firm A spending 50% more than
Firm B. It is worth noting that Firm B’s strategy in Scenario II resembled the one
seen in Scenario I, meanwhile Firm A took a more aggressive strategy, knowing it
was better than the competition.
Finally, still under the premise that both firms are not in the same tier, we inves-
tigated what would change in the previous case if the lesser competitor with respect
to the Vidale-Wolfe-Deal model had a much bigger advertising budget. Figure 4.28
displays the initial market share at every round for Firm A and Firm B in Scenario
III. Under these circumstances, it is shown that firm B, despite having a less recog-
nizable brand, was able to dominate the market, achieving approximately 57.43% of
the final market share. Firm A, on the other hand, was strong-armed into settling
for meager 36.36% of the market, even though it was considered more attractive
to consumers, i.e. faster response to advertising (ra > rb) and a slower sales decay
(λa < λb). Figure 4.29 shows the result of the average optimal advertising effort
employed by both firms in Scenario III. It can be seen that in order for Firm B
to overcome a better competitor, it needed to invest approximately three times the
amount Firm A spent in advertising.
� �� �� �� �� ��� ��� ���
�����
���
���
���
���
���
���
���
�����
����
������������������������xa(1)������������������������xb(1)
Figure 4.24: Market Share of firms A and B in a duopoly: Competitive scenario. The
curves represent the evolution of market share after 150 rounds for each firm under the
assumptions of Scenario I (ra = rb, λa = λb, uamax = ubmax) of Table 4.4.
48
� �� �� � �� ��� ��� ���
������
�
�
�
�
�
�
����������
������� ������������ ���� ua ������� ����������������� ub
Figure 4.25: Advertising effort of firms A and B in a duopoly: Competitive scenario.
The curves represent the average advertising made by the firms at each of the 150 rounds
under the assumptions of Scenario I (ra = rb, λa = λb, uamax = ubmax) of Table 4.4.
� �� �� �� �� ��� ��� ���
�����
���
���
���
���
���
���
���
�����
����
������������������������xa(1)������������������������xb(1)
Figure 4.26: Market Share of firms A and B in a duopoly: Competitive scenario. The
curves represent the evolution of market share after 150 rounds for each firm under the
assumptions of Scenario II (ra > rb, λa < λb, uamax = ubmax) of Table 4.4.
49
� �� �� � �� ��� ��� ���
������
�
�
�
�
�
�
����������
������� ������������ ���� ua ������� ����������������� ub
Figure 4.27: Advertising effort of firms A and B in a duopoly: Competitive scenario.
The curves represent the average advertising made by the firms at each of the 150 rounds
under the assumptions of Scenario II (ra > rb, λa < λb, uamax = ubmax) of Table 4.4.
� �� �� �� �� ��� ��� ���
�����
���
���
���
���
���
���
���
�����
����
������������������������xa(1)������������������������xb(1)
Figure 4.28: Market Share of firms A and B in a duopoly: Competitive scenario. The
curves represent the evolution of market share after 150 rounds for each firm under the
assumptions of Scenario III (ra > rb, λa < λb, uamax << ubmax) of Table 4.4.
50
� �� �� � �� ��� ��� ���
������
�
�
�
�
�
�
����������
������� ������������ ���� ua ������� ����������������� ub
Figure 4.29: Advertising effort of firms A and B in a duopoly: Competitive scenario.
The curves represent the average advertising made by the firms at each of the 150 rounds
under the assumptions of Scenario III (ra > rb, λa < λb, uamax << ubmax) of Table 4.4.
51
Chapter 5
Concluding Remarks
Numerical results obtained from the Vidale-Wolfe monopoly model 4.1 were able to
verify the analytical solution found by SETHI and THOMPSON[4]. This was par-
ticularly important since the monopoly case served as cornerstone for all subsequent
duopoly models, also being the starting round in the proposed sequential differential
game.
The proposed duopolistic version of the Three Populations advertising model,
a Lotka-Volterra type model, introduced a novel assumption that encounters be-
tween two competing brands have a negative effect on both populations and thus
provoke indecision among customers, therefore increasing the undecided fraction of
the market.
For both Vidale-Wolfe-Deal and Three Populations advertising models, unless
the two firms are equivalent, i.e. share identical parameters, the optimal solution
for the simultaneous co-operation leads to a monopoly of the firm with more fa-
vorable parameters. This result indicates that if two firms are not identical, which
is usually the case, cooperation is not an optimal solution even under the adopted
“cooperative” cost function because the end result is complete market domination,
which might be summarized in the popular expression “business is business” (even
among cooperators). When the two firms are considered equivalent, however, the
numerical results for both models showed the market being evenly split between
them. Furthermore, the optimal advertising effort for both models exhibited the
same pattern, namely, full advertising effort until reaching the optimal point of
operation, followed by reducing the advertising effort just enough to stabilize the
system at that optimal point (turnpike) and, then, ceasing advertising near the end
of the time window in order to increase the profit without losing too much market
share, due to the slow decay of the latter. The turnpike in advertising, leading to
a market share equilibrium, for the Vidale-Wolfe-Deal duopoly model is expected
and is consistent with the stability analysis discussed in Section 2.2 for constant
advertising effort.
52
In this dissertation, a sequential game based on Leader-Follower iteration was
proposed and solved for the Vidale-Wolfe-Deal duopoly model. Three different sce-
narios were studied: Scenario I, where the two opposing firms are considered equiva-
lent, sharing identical parameters, Scenario II, in which one of the firms has a faster
response to advertising and a slower sales decay, and, lastly, Scenario III, where the
firm with slower response to advertising and faster sales decay is given unlimited
funds to try to compensate. Unlike the case of simultaneous co-operation, market
share equilibrium was reached for all three scenarios without any firm turning the
market into a monopoly. Moreover, numerical results for Scenario III showed that a
bigger advertising budget under the rules established in the sequential game allows
a firm to overcome its less favorable parameters. Finally, it is worth noting that si-
multaneous co-operation and sequential competition achieve the same market share
equilibrium when both firms share identical parameters.
5.1 Contributions
The main contributions of this dissertation are as follows:
� Providing a stability analysis for the Vidale-Wolfe-Deal model showing that
any control attaining final constant positive values leads to a stable equilibrium
of market shares.
� Proposing a duopolistic version of the Three Populations model.
� Proposing and solving a sequential game based on Leader-Follower iteration
for the Vidale-Wolfe-Deal model.
5.2 Future work
Future research directions may include:
� Studying the response, state dynamics and possible equilibria of the Three
Populations advertising model for duopolies in a differential game.
� Studying the effects of modeling the Brand-Rival decay proportion, α, of the
Three Populations advertising model (equation 2.16) for duopolies as a func-
tion of the type:xr
xb + xr,
instead of assuming a constant value. Adopting such a function would cause
the depletion of brand and rival populations (with the corresponding growth
53
of the undecided population) to be inversely proportional to their size at each
encounter, which might be a more reasonable assumption.
� Considering the interactions between brand and rival populations in the
duopolistic model as a Markov chain with the following possible outcomes:
increase of the brand population followed by a corresponding decrease of the
rival population, increase of the rival population followed by a corresponding
decrease of the brand population and increase of the undecided population
followed by corresponding decreases of both brand and rival populations.
� Proposing a multi-criterion cost function for the simultaneous co-operation
problem in order to obtain a Pareto front.
54
Bibliography
[1] BHAYA, A., KASZKUREWICZ, E. “Modeling Market Share Dynamics under
Advertising Effort and Word-of-Mouth Interactions between Costumers
(in press)”, IEEE transactions on Computational Social Systems, 2018.
doi: 10.1109/TCSS.2018.2810242.
[2] MAGNUSSON, F., AKESSON, J. “Dynamic Optimization in JModelica.org”,
Processes, v. 3, n. 2, pp. 471–496, jun. 2015.
[3] BECERRA, V. M. “Practical Direct Collocation Methods for Computational
Optimal Control”. In: Fasano, G., Pinter, J. (Eds.), Modeling and Op-
timization in Space Engineering. Springer Optimization and Its Applica-
tions, vol 73., cap. 2, New York, Springer, 2012.
[4] SETHI, S. P., THOMPSON, G. L. Optimal Control Theory: Applications to
Management Science and Economics. 2 ed. New York, Springer, 2005.
[5] ERICKSON, G. M. Dynamic Models of Advertising Competition. 2 ed. New
York, Springer Science+Business Media, 2003.
[6] VIDALE, M. L., WOLFE, H. B. “An operations research study of sales response
to advertising”, Operations Research, v. 5, n. 3, pp. 370–381, jun. 1957.
[7] DEAL, K. R. “Optimizing Advertising Expenditures in a Dynamic Duopoly”,
Operations Research, v. 27, n. 4, pp. 682–692, jul. 1979.
[8] LITTLE, J. D. C. “A Model of Adaptive Control of Promotional Spending”,
Operations Research, v. 14, n. 6, pp. 1075–1097, 1966.
[9] SWEENEY, J. D., ABAD, P., DORNOFF, R. J. “Finding an optimal dynamic
advertising policy”, International Journal of Systems Science, v. 5, n. 10,
pp. 987–994, fev. 1974.
[10] LI, T., SETHI, P. “A review of dynamic Stackelberg game models”, Discrete
and Continuous Dynamical Systems - Series B (DCDS-B), v. 22, n. 1,
pp. 125–159, 2016.
55
[11] ZHOU, M., LIN, J. “Cooperative advertising and pricing models in a dynamic
marketing channel”, Journal of Systems Science and Systems Engineering,
v. 23, n. 1, pp. 94–110, 2014.
[12] BHAYA, A., KASZKUREWICZ, E. “Duopolistic Dynamics in Markets with
Competitive Advertising and Churn”, Control Conference (ASCC), 2013
9th Asian, pp. 1–6, jun. 2013.
[13] CHUTANI, A., SETHI, P. “Cooperative Advertising in a Dynamic Retail Mar-
ket Oligopoly”, Dynamic Games and Applications, v. 2, n. 4, pp. 347–375,
2012.
[14] AKESSON, J., ARZEN, K. E., GAFVERT, M., et al. “Modeling and Optimiza-
tion with Optimica and JModelica.org - Languages and Tools for Solving
Large-Scale Dynamic Optimization Problems”, Computers and Chemical
Engineering, v. 34, n. 11, pp. 1737–1749, nov. 2010.
[15] DUNNING, I., HUCHETTE, J., LUBIN, M. “JuMP: A Modeling Language
for Mathematical Optimization”, SIAM Review, v. 59, n. 2, pp. 295–320,
2017.
[16] OUARDIGHI, F. E., FLEICHTINGER, G., GRASS, D., et al. “Advertising and
Quality-Dependent Word-of-Mouth in a Contagion Sales Model”, Journal
of Optimization Theory and Applications, v. 170, n. 1, pp. 323–342, 2016.
[17] MAURER, S. M., HUBERMAN, B. A. “Competitive Dynamics of Web Sites”,
Journal of Economic Dynamics and Control, v. 27, pp. 2195–2206, 2003.
[18] BELLMAN, R. Dynamic Programming. 1 ed. New Jersey, Princeton University
Press, 1957.
[19] BELLMAN, R., DREYFUS, S. “Functional Approximations and Dynamic Pro-
gramming”, Mathematical Tables and Other Aids to Computation, v. 13,
n. 68, pp. 247–251, out. 1959.
[20] BELLMAN, R. “Dynamic Programming Treatment of the Travelling Salesman
Problem”, Journal of Association of Computing Machinery, v. 9, n. 1,
pp. 61–63, 1962.
[21] BELLMAN, R., KALABA, R., KOTKIN, B. “Polynomial Approximation –
A New Computational Technique in Dynamic Programming: Allocation
Processes”, Mathematics of Computation, v. 17, pp. 155–161, 1963.
56
[22] PONTRYAGIN, L. S., BOLTYANSKII, V. G., GAMKRELIDZE, R. V., et al.
The Mathematical Theory of Optimal Processes. New York - London,
Interscience Publishers, 1962.
[23] KAMIEN, M. I., SCHWARTZ, N. L. Dynamic Optimization: The Calculus
of Variations and Optimal Control in Economics and Management (Ad-
vanced Textbooks in Economics). 2 ed. Amsterdam - New York, North-
Holland, 1993.
[24] RAO, A. V. “A survey of numerical methods for optimal control”, Advances in
the Astronautical Sciences, v. 135, n. 1, pp. 497–528, ago. 2009.
[25] HAIRER, E., WANNER, G. Solving Ordinary Differential Equations II. Stiff
and Differential-Algebraic Problems. 2 ed. Berlin, Springer-Verlag, 2002.
[26] ANDERSSON, J. A General-Purpose Software Framework for Dynamic Opti-
mization. Ph. D thesis, KU Leuven, Leuven, Belgium, 2013.
[27] WACHTER, A., BIEGLER, L. T. “On the Implementation of a Primal-Dual
Interior Point Filter Line Search Algorithm for Large-Scale Nonlinear Pro-
gramming”, Mathematical Programming, v. 106, n. 1, pp. 25–57, 2006.
[28] BEZANSON, J., EDELMAN, A., KARPINSKI, S., et al. “Julia: A Fresh Ap-
proach to Numerical Computing”, SIAM Review, v. 59, n. 1, pp. 65–98,
2017.
[29] CANNON, M. D., CULLUM JR, C. D., POLAK, E. Theory of Optimal Control
and Mathematical Programming (Series in Systems Science). New York,
McGraw-Hill, 1970.
57
Appendix A
JModelica.org codes
A.1 Monopoly example
A.1.1 VW Opt.mop
optimization VW_Opt (objectiveIntegrand = u - c*x, startTime = 0,
finalTime = 1)
// The states
Real x(start =0.1, fixed=true);
// Parameters
parameter Real c = 100;
parameter Real lambda = 0.2;
parameter Real r = 1.2;
parameter Real u_max = 10;
// The control signal
input Real u;
// System Dynamic
equation
der(x) = r*u*(1 - x) - lambda*x;
// Box Constraints
constraint
u >= 0;
u <= u_max;
x >= 0;
x <= 1;
end VW_Opt;
58
A.2 Duopoly examples
A.2.1 VWD Opt.mop
optimization VWD_Opt (objectiveIntegrand = (u1 - c*x1) +
mu*(u2 -c*x2), startTime = 0,
finalTime = 1)
// The states
Real x1(start =0.1, fixed=true);
Real x2(start =0.1, fixed=true);
// Parameters
parameter Real c = 100;
parameter Real lambda1 = 0.2;
parameter Real lambda2 = 0.2;
parameter Real mu = 1.0;
parameter Real r1 = 1.2;
parameter Real r2 = 1.2;
parameter Real u1_max = 10;
parameter Real u2_max = 10;
// The control signals
input Real u1;
input Real u2;
// System Dynamics
equation
der(x1) = r1*u1*(1 - x1 -x2) - lambda1*x1;
der(x2) = r2*u2*(1 - x1 -x2) - lambda2*x2;
//Box Constraints
constraint
u1 >= 0;
u1 <= u1_max;
u2 >= 0;
u2 <= u2_max;
x1 >= 0;
x2 >= 0;
x1 + x2 <= 1;
end VWD_Opt;
59
A.2.2 D3pops Opt.mop
optimization D3pops_Opt (objectiveIntegrand = (ub - c*xb) +
mu*(ur -c*xr), startTime = 0,
finalTime = 2)
// The states
Real xb(start =0.10, fixed=true);
Real xr(start =0.10, fixed=true);
Real xi(start =0.80, fixed=true);
// Parameters
parameter Real c = 100;
parameter Real mu = 1;
parameter Real alpha = 0.5;
parameter Real ub_max = 1;
parameter Real ur_max = 1;
parameter Real kb = 1.2;
parameter Real kbi = 1;
parameter Real kbr = 1;
parameter Real kr = 1;
parameter Real kri = 1;
// The control signals
input Real ub;
input Real ur;
// System Dynamics
equation
der(xb)= kb*ub + kbi*xb*xi - alpha*kbr*xb*xr;
der(xr)= kr*ur + kri*xr*xi - (1- alpha)*kbr*xb*xr;
der(xi)=-kb*ub -kr*ur - kbi*xb*xi - kri*xr*xi + kbr*xb*xr;
//Box Constraints
constraint
ub >= 0;
ub <= ub_max;
ur >= 0;
ur <= ur_max;
xb >= 0;
xr >= 0;
xi >= 0;
end D3pops_Opt;
60
Appendix B
Julia code
B.1 Sequential Game
1 using JuMP2 using Ipopt34 # Parameters and initialization5 c = 100;6 lambda1 = 0.1;7 lambda2 = 0.1;8 n = 50;9 dt = 0.01;10 r1 = 1.2;11 r2 = 1.2;12 ua_max = 25;13 ub_max = 25;14 xa_0 = 0.0;15 stop = 150;1617 # Optimization (Monopoly)18 VW = Model(solver = IpoptSolver())19 @variable(VW, 0 <= x[1:n+1] <= 1)20 @variable(VW, 0 <= u[1:n] <= ua_max)21 @constraint(VW, x[1] == xa_0)22 for k = 1:n23 @constraint(VW, x[k+1] == x[k] + dt*(r1*u[k]*(1-x[k]) - lambda1*x[k]))24 end2526 @objective(VW, Max, (sum(c*x[1:n] - u))*dt)27 solve(VW)2829 xa = getvalue(x);30 ua = getvalue(u);31 marketA = xa;32 investA = ua;33 marketB = zeros(n + 1);34 investB = zeros(n);3536 xb = marketB;3738 obj = getobjectivevalue(VW);3940 feasibleA = true;41 feasibleB = true;42
61
43 counter = 0;44 countA = 0;45 countB = 0;4647 #Leader-Follower Loop48 while (counter < stop)&&(feasibleA)&&(feasibleB)4950 #Optimize Net Gain of Firm B (Duopoly)51 VWDB = Model(solver = IpoptSolver())52 @variable(VWDB, 0 <= x1[1:n+1] <= 1)53 @variable(VWDB, 0 <= x2[1:n+1] <= 1)54 @variable(VWDB, 0 <= u1[1:n] <= ua_max)55 @variable(VWDB, 0 <= u2[1:n] <= ub_max)56 @constraint(VWDB, x1[1] == xa[n+1])57 @constraint(VWDB, x2[1] == xb[n+1])58 for k = 1:n59 @constraint(VWDB, u1[k] == ua[k])60 @constraint(VWDB, x1[k+1] == x1[k] + dt*(r1*u1[k]*(1-x1[k]-x2[k]) -
lambda1*x1[k]))61 @constraint(VWDB, x2[k+1] == x2[k] + dt*(r2*u2[k]*(1-x1[k]-x2[k]) -
lambda2*x2[k]))62 @constraint(VWDB, x1[k+1] + x2[k+1] <= 1)63 end64 @objective(VWDB, Max, (sum(c*x2[1:n]- u2))*dt)65 solve(VWDB)6667 objB = getobjectivevalue(VWDB);68 feasibleB = !(isnan(objB));6970 if feasibleB71 ub = getvalue(u2);72 xa = getvalue(x1);73 xb = getvalue(x2);7475 marketA = hcat(marketA,xa);76 marketB = hcat(marketB,xb);77 investA = hcat(investA,ua);78 investB = hcat(investB,ub);7980 countB += 1;81 counter += 1;82 end8384 #Optimize Net Gain of Firm A (Duopoly)85 VWDA = Model(solver = IpoptSolver())86 @variable(VWDA, 0 <= x1[1:n+1] <= 1)87 @variable(VWDA, 0 <= x2[1:n+1] <= 1)88 @variable(VWDA, 0 <= u1[1:n] <= ua_max)89 @variable(VWDA, 0 <= u2[1:n] <= ub_max)90 @constraint(VWDA, x1[1] == xa[n+1])91 @constraint(VWDA, x2[1] == xb[n+1])92 for k = 1:n93 @constraint(VWDA, u2[k] == ub[k])94 @constraint(VWDA, x1[k+1] == x1[k] + dt*(r1*u1[k]*(1-x1[k]-x2[k]) -
lambda1*x1[k]))95 @constraint(VWDA, x2[k+1] == x2[k] + dt*(r2*u2[k]*(1-x1[k]-x2[k]) -
lambda2*x2[k]))96 @constraint(VWDA, x1[k+1] + x2[k+1] <= 1)97 end98 @objective(VWDA, Max, (sum(c*x1[1:n]- u1))*dt)99 solve(VWDA)100101 objA = getobjectivevalue(VWDA);102 feasibleA = !(isnan(objA));103
62
104 if feasibleA105 ua = getvalue(u1);106 xa = getvalue(x1);107 xb = getvalue(x2);108109 marketA = hcat(marketA,xa);110 marketB = hcat(marketB,xb);111 investA = hcat(investA,ua);112 investB = hcat(investB,ub);113114 countA += 1;115 counter += 1;116 end117 end
63
Appendix C
Figures permissions
C.1 Figure 3.2
Figure C.1: Permission to use figure 2.1 of [3] located on page 39.
64
C.2 Figure 4.1
Figure C.2: Permission to use figure 7.5 of Chapter 7: Applications to Marketing of [4]
located on page 200.
65
Top Related