Animation and Entity Movements / Markov Chains

8.5

Speedee Car Rentals

I will provide the configurations for setting up this model:

Firstly, we need a source, two servers, 4 paths, two model entities, and a sink.

Model Design

Model Design

The source is controlled by a sequence and routing table, referencing the two model entities: premium and regular customers.

Source Control

Data Tables

Data Tables

With Source1 managed by:

Entity Arrival Logic

  1. Entity Type : CustomerData.CustomerType
  2. Interarrival Time : Random.Exponential(2)

Table Row Referencing

  1. Table Name : CustomerData
  2. Row Number : CustomerData.RandomRow

And Output@Source1 managed by:

Routing Logic

  1. Entity Destination Type : By Sequence

Servers

The regularCounter is managed with the following system:

Process Logic

  1. Initial Capacity : 2
  2. Processing Time : Random.Uniform(2,3)

Financials

  1. Parent Cost Center : serviceCost
  2. Resource Costs
    1. Idle Cost Rate : pricing, USD per hour
    2. Usage Cost Rate : pricing, USD per hour

Add-On Process Triggers

  1. After Processing : profitRegular

The premiumCounter is managed as follows:

Process Logic

  1. Initial Capacity : 1
  2. Processing Time : Random.Uniform(2,3)

Financials

  1. Parent Cost Center : serviceCost
  2. Resource Costs
    1. Idle Cost Rate : pricing, USD per hour
    2. Usage Cost Rate : pricing, USD per hour

Add-On Process Triggers

  1. After Processing : profitPremium

Processes

Processes

Processes

The Decide determines if the entity’s time in system exceeds 5 minutes, and assigns either a +15 to a discount real state variable and +8 to profit real state variable, or only +8 to profit. The profitRegular performs the latter for the regular customer server.

Basic Logic

  1. Condition or Probability: ModelEntity.TimeInSystem<0.08333

Results

As a real time result - one 10 day run, a label was affixed and assigned:

Expenses: ${pricing3TimeNow} = 39600

Revenue: ${revenue} = 56648

Discounts: -${discount} = -2085

Totals: ${revenue-(pricing3TimeNow)-discount} = 14963

With 10 replications

Results

Results

Suggestions

Having a floating worker (or workers) between the two server stations would likely reduce the number of discounts given.