Professional Documents
Culture Documents
I. INTRODUCTION
The International Workshop on Agent-Based Modeling and Simulation for Policy Development
Gintis work is that in a decentralized agents based economy,
where trading agents have neither money nor prices as public
information and with little central control, a system of
approximately equilibrium prices emerges in the long run.
This study provides means to analyze related models by
changing agent as well as market behavior. This model in our
view can be applied to Indonesian rice prices. For this study, I
tune and modify the implementation of an extensible and
scalable agent-based simulation of barter economics [6] which
is based on a multi-agent library MASON (Multi-Agent
Simulator of Neighborhoods) as the underlying simulation
platform [7].
The International Workshop on Agent-Based Modeling and Simulation for Policy Development
}
E. Replacement/mutation strategies
After a fixed number of periods, a reproduction period is
added, in which a fraction of low-performing agents of each
producer type are permitted to imitate the behavior of
high-performing types by switching to the price structure used
by the higher-performing types. The implemented
reproduction strategy is as follows:
public class OriginalReplacementStrategy{
public void getNextGeneration(
List<TradeAgent> producers, BarterParams params,
MarsenneTwisterFast random ) {
long replacements = Math.max(1, Math.round(
producers.size() * params.getReplacementRate()));
for (int i = 0; i<replacements; i++) {
int j = random.nextInt(producers.size());
int k = random.nextInt(producers.size());
if (producers.get(j).getScore() >
producers.get(k).getScore()) {
producers.get(k).improve(producers.get(j));
} else {
producers.get(j).improve(producers.get(k));
}
}
!
! !"
= !! !! + + !" !" .
(2)
!!
= !! ,
!
(3)
where
=
!
!" !"
! !!! !!!
(3)
}
F. Scalability
It is interesting to see how increasing the number of goods
or agents influences the simulation performance. Asymptotic
time complexity of barter economics system is (! +
) where is number of goods, is number of agents per
good, is the maximum number of barter attempts, is
number of periods to run. [6]
III. METHODS
A. Convergence to Private but Common Prices
The original Gintis implementation is as follows. Suppose
each agent produces a certain quantity of one good but
consumes a subset of goods in each period, the particular
goods being re-specified randomly at the start of each period,
except that the agent does not consume his own production
good. Assume each agent consumes in fixed proportions
(!! , , !" ) such that the utility !! ! , , ! in period is
given by,
!"
(1)
min , , = min
,
!
!!
!"#
The International Workshop on Agent-Based Modeling and Simulation for Policy Development
according to the old price vector, because the demand and
supply will not be recalculated until the next period. This also
means trades with negative profit, as did the second bug.
C. Modifications to Indonesian rice price structure
Based on data from BPS (National Statistic Bureau)
Indonesian rice production in average is about 32 millions ton,
where as import and export are about 1.89 millions and 8
thousand tons respectively. This make Indonesian food
self-supply rate about 94.5%. Indonesian government sets
incentives on rice price (HPP: harga pembelian pemerintah)
for domestic rice price. Indonesian rice price is 85% higher
than world rice price. Setting this incentives too high will only
opens higher risks on smuggling and speculations. It is almost
impossible for Indonesian government to fully control the rice
price in the country and prevent rice speculations if
government does not have tools of rice import and export
through tariffs application as protection system. Beside,
government also do not have capability to fully control the
price because rice stocks held by BULOG is relatively low,
i.e., about 0.5 million tons. Thus practically, the rice price in
Indonesia is controlled by trader/miller, especially big traders.
In this study, I want to simulate and model the barter
economy interactions between four main players/contributors
in Indonesian rice markets: Farmers, small traders, big traders
and BULOG, on exchanging simultaneously domestic rice and
imported rice. I ignore the exported rice since the amount is
relatively small hence considered insignificant. Our
assumptions and constraints are as follows. Farmers mainly
produce domestic rice but at the same time also consume and
exchange their rice to other agents. In addition, farmers may
also consume imported rice. Small traders, big traders, and
BULOG also produce both domestic and imported rice either
by buying from other agents or by importing rice. For these
three agents other than farmers I assume that they may
consume the rice by selling it to people which is not included
as one of any agents in this study. The consumption or
volumes of domestic and imported rice for each agent are
made as close as possible to reflect the rice stock census from
BPS.
double requestsAmount) {
return !(me.getDemand(offeredGood) > 0 &&
me.getExchangeFor(offeredGood) > 0;
}
}
In the fourth experiment, I change improvement strategy from
copy and mutate to mean improvement strategy which is set as
follows.
public class MeanImprovementStrategy{
public double[] improve(TradeAgentProxy betterAgent,
TradeAgentProxy myself,
BarterParams params, MersenneTwisterFast random) {
int numGoods = params.getNumGoods();
double[] newPrices = new double[numGoods];
for(int good = 0; good < numGoods; good++) {
newPrices[good] = (betterAgent.getPrice(good) +
myself.getPrice(good)) * 0.5;
}
return newPrices;
}
}
IV. EXPERIMENTS
In this study, I perform 4 experiments. In the first
experiment, I set the composition of domestic rice and
imported rice consumptions to be the same. Original barter
strategy and improvement strategy (copy and mutate strategy)
are applied. The first experiment is treated as a reference for
other three experiments. In the second experiment, I set the
composition of domestic rice and imported rice consumptions
to reflect the actual data from BPS, i.e., 32.0: 1.89, while still
using the original barter and improvement strategy. In the
third experiment, I retain the consumption rate as the second
experiment, but instead of using the original barter strategy, I
use generous barter strategy set as follows.
public class GenerousBarterStrategy{
public boolan acceptOffer(TradeAgentProxy me,
int offersGood, double offersAmount,
The International Workshop on Agent-Based Modeling and Simulation for Policy Development
Fig. 4. Agents scoring status. All reach high scoring for just
about 5000 periods.
The International Workshop on Agent-Based Modeling and Simulation for Policy Development
The International Workshop on Agent-Based Modeling and Simulation for Policy Development
[6]
[7]
REFERENCES
[1]
[2]
[3]
[4]
[5]