Allocate available function with different time steps

Use this forum to post Vensim related questions.
Post Reply
nzligul
Junior Member
Posts: 14
Joined: Thu Oct 27, 2022 12:10 pm
Vensim version: DSS

Allocate available function with different time steps

Post by nzligul »

Hello,

I use the ALLOCATE AVAILABLE function to prioritize different supplies in my model. However, I noticed that when the dt (time step) changes, the model outcomes also vary. I was wondering what could be causing this behavior. Unit consistency is maintained in the model, and the desired outcome is when dt=1. Are there some rules to apply this function? I am also sharing the model.
Attachments
Allocate available different dt.mdl
(9.03 KiB) Downloaded 155 times
Kind regards,
Nazli
Administrator
Super Administrator
Posts: 4844
Joined: Wed Mar 05, 2003 3:10 am

Re: Allocate available function with different time steps

Post by Administrator »

Can you provide more detail? What outcomes are you looking at?

And have you selected a suitably small time step?
https://www.vensim.com/documentation/re ... =time+step
Advice to posters seeking help (it really helps us to help you)
http://www.ventanasystems.co.uk/forum/v ... f=2&t=4391

Units are important!
http://www.bbc.co.uk/news/magazine-27509559
nzligul
Junior Member
Posts: 14
Joined: Thu Oct 27, 2022 12:10 pm
Vensim version: DSS

Re: Allocate available function with different time steps

Post by nzligul »

There are 3 different brands and corresponding demands and supplies. Each demand is initially met by its own brand. However, if there is not enough supply from that brand, the demand is met by another cheapest available brand. That’s why there are two outflows for Supply and Demand: (1) demand fulfilment (supply usage) own brand, (2) demand fulfilment (supply usage) other brand. I am interested in those flows to see how much demand is fulfilled through the own brand and other brands throughout the simulation. For simplicity, there are no inflows for now.

For example, in the following case:
- Supply A, B, and C are 10, 38, and 50, respectively.
- Demand A, B, and C are 20, 30, and 40, respectively.
- Price A, B, and C are 1, 2, and 3, respectively.

Expected outcome for End of Day 1:
- A receives 10 units from A, B receives 30 from B, and C receives 40 from C. (demand fulfillment own brand)
- Since there is remaining supply (A has 0, B has 8, and C has 10), and remaining demand (A still needs 10, B and C have no unmet demand) A receives the remaining 8 units from B (because B is cheaper than C) and 2 units from C (because there is no inventory left in cheaper brands). (demand fulfilment other brand)

This is the expected outcome, and I can check it when I run the model with dt=1. However, when I use a dt value smaller than 1, the outcome deviates from this expected result, and this allocation process takes more time. I am sharing a small summary document with some figures. The shortest time constant in my model is 1. Thus, I assume it aligns with "TIME STEP should be smaller than 1/3 of the shortest time constant in the model".
Attachments
ALLOCATE AVAILABLE DIFFERENT DT VALUES.docx
(105.15 KiB) Downloaded 144 times
Kind regards,
Nazli
Post Reply