customwritingtips.com

English French German Portuguese Russian Spanish
You are here Home
Tuesday, 05 June 2012 09:30

The Working Of Java In The Simulation Of The Learning Curve; The Logic Reasoning Behind It And How It Flows Featured

WRITTEN_BY  Administrator
Rate this item
(1 vote)

The Working Of Java In The Simulation Of The Learning Curve; The Logic Reasoning Behind It And How It Flows


 

The learning curve input description

Simulator inputs

Description

Number of days

Number of periods in the market. Each seller can change its price at the end of the day

Number of buyers

The size of the buyer population over the entire market

Market mechanism

Posted price or first price auction

Buyer segmentation

The buyer population can optionally be divided into two groups, either in a 50-50 or 75-25 ratio

Number of sellers

Number of those selling

Number of goods

Initial inventory for each seller

Fixed cost

Cost of producing the inventory

Marginal cost

The additional cost of selling each good. This is often zero in finite markets

Initial price offered

The initial price all the sellers will offer in the market. This parameter can be adjusted on a per seller basis on the seller strategies screen.

Buyer behavior

Daily price distribution

The demand distribution of buyers on a single day. available choices are normal distribution, positive slope, negative slope, or segmented into a high and low grouping

Price variation per day

The buyers’ reservation prices vary ±the variance in a single day. the variance determines the range of the daily distribution in price

Percentage comparison shoppers

The percentage of the comparison of the buyers population (0-100%) who compare each seller’s offer price and purchase from the seller with the greatest % discount below its reservation price for the seller

Preference for certain sellers

The entire buyer population can have a preference for one or more of the sellers, which is represented by a higher-reservation price for that individual seller. This is a method for expressing product and seller differentiation

Lifetime

Number of days a single a single seller will be in market, actively looking for a seller. Regardless of lifetime, once a buyer purchases it leaves the market

Buyer valuation over time

Over the course of the market, the demand of the buyer will change and the valuation/time curve expresses how the demand will change over time. the shape of the curve can be either flat, increasing, decreasing, mid-peaking, or mid-pinning over time

Minimum/maximum buyer prices over time

The range of prices for the buyer valuation curve. These values are the minimum reservation prices over the market.

Buyer behavior

Seller strategies

The different pricing strategies sellers use in the market, either Goal-Directed or Derivative-Following

Initial prices

The different prices sellers offer on the first day of the market before adjusting price through the chosen strategy

Available inventory per day

Amount of inventory a seller can sell in one day. this can be limited to represent shelving costs and to prevent 100% inventory sell off in a single day.



Simulator code design

After outlining the simulator functionality from the perspective of the interface, the code design is presented here as an overview for the underlying workings of the simulator.

The learning curve simulator is constructed in three tiers:

  • General market framework
  • A detailed framework for the learning curve aspects of the market and
  • A graphical user interface

The three tiers are constructed in Java 1.3 hence forming the java packages:

  • Marketplace
  • lc and
  • gui respectively

Simulator’s java packages

Core packages classes

gui

LearningCurveIO

lc

SimulatorDriver

Marketplace

Engine


The interaction between the three functional tiers is directed by the communication between the core classes of java ‘lc.SimulatorDriver,’ gui.LearningCurveIO and marketplace.Engine.


 

When the user makes an interaction with the simulator he/she interfaces with the swing interface, the object of java which is named LearningCurveIO. When the simulator inputs have been gathered, the LearningCurveIO passes the inputs to the SimulationDriver. The SimulationDriver manages the creation of the learning curve buyers and sellers and then it sends the players of the market to the core of the simulator, the engine class; the engine iterates through every market simulation, managing the matching of the buyers and sellers.


At the end of every day, the engine stores information about each successful transaction of the market and informs the seller and the buyers to update their prices. At the market end, the engines then give a report of the result to the SimulationDriver which in return send the results the LearningCurveIO which then presents visually the results to the user.


 

The market place and the lc packages have several additional classes, which are given in below table. Each table’s class are categorized by their role in the simulator, depending on whether they are pieces of framework, utilities or market players. The classes of marketplace offer a structure for any form of marketplace, since it assumes nothing about the characteristics or behaviors of the buyer or the sellers.


The marketplace classes give an outline about the structure of a market by offering a definition to the java interfaces for buyers and sellers which then are implemented in detail in the lc package. In case other forms of market were to be implemented the marketplace package for java interfaces can serve as a beginning point and a designer would implement the java interfaces in the market place and any additional classes which are found to be necessary.

 

MARKETPLACE PACKAGE

Java class

Functional description

Market framework

 

State of simulation

Framework piece coordinating the simulator state; the current day and which buyers and sellers are actively looking for transactions

Engine

A piece of framework which runs the simulated market. Based on the information from the simulation state, it locates buyers and pairs then for a negotiation.

Market players

Transaction party

A generic player in the market (java interface)

Buyer

A generic player who is buying (java interface)

Seller

A generic player who is selling (java interface)

Good

The object being exchanged between market players

Utilities of the market

Seller Strategy

A generic interface for a seller strategy

Strategy

A generic player strategy

Lifetime

Gives a player a random lifetime based on a duration value

Negotiation

Mechanism for matching up buyers and sellers based on different market mechanisms. It returns the price of sale or 0, depending on the result of the negotiation

Distribution

It is a generic utility for number generation in a specific distribution, and it is based on an histogram model.

Results

It a utility to store simulation results

Receipt

It is an utility for storing each receipt of sales; the receipts are created by the seller and they contain all information about a sale of a seller

Day

Utility for organizing simulation results by the day’s events


 

The ‘lc’ package outlines the specific behavior of the sellers and buyers by implementation of classes of buyer and seller in the marketplace package as the LCBuyer and LCSeller classes. The package of lc is structured such that variety of different sellers strategies can be implemented in the simulator. This is accompanied by defining each strategy as a class which implements the marketplace.SellerStrategy interface. This design makes the addition of new strategies to look trivial.

LC PACKAGE

Java Class Name

Functional description

Learning curve players

 

LCBuyer

It is a specific implementation of a buyer in the learning curve simulator. Each buyer object has the different characteristics e.g. an array of reservation prices for every seller, a beginning and ending day in the market, a preference for certain buyers, a designation as a comparison shopper or not. The reservation of the buyer price is calculated every day based on all its features

LCSeller

LCSeller is the specific implementation of a seller in the learning Simulator curve. Different sellers have specific amount of inventory, a designated strategy an initial offer price and its receipts from its sales. Every day the seller uses its sales receipts and its strategy for calculation of a new offer price.

Learning utilities

SimulationDriver

It initializes the simulator by directing the input variables to the market place.Engine and creating the populations of the buyers and sellers.

LearningCurve

It is for running the simulator from a command line (vs. the GUI)

Inputvariables

It coordinates all of the input variables for the simulator, gathering them either from the gui or the command line.

DemandCurve

It calculates the average reserve price for the buyer population on a given day, provided the specified shape of the valuation/time curve

SStrategyFP

SStrategyDF

SStrategyDFA

SStrategyGO

SStrategyGOA

SStrategyGOQ

Each of the classes implements the seller strategy interface. The seller strategies determine the reserve price that is offered by the seller on a given day. The strategies use the sales receipt information of the seller to calculate a new offer price.

FP – Fixed price

DF – Derivative Following

DFA – Derivative following adjusted for market day

GO – Goal directed (oriented)

GOA Goal oriented adjusted for market day

GOQ – Goal-Directed quantity

 



 

Trusted Site Seal SSL Certificate Provider SSL