supply curve
supply curve
I have a professional version and want to create a supply curve as the attched file in the model. Is allocation by priority the function for this? I cannot really understand how to use the function from the manual and wish to get some help. Is there any other way to produce a supply curve from the data of cost and capacity?
- Attachments
-
- supply curve.doc
- (23.5 KiB) Downloaded 1496 times
-
- Senior Member
- Posts: 1107
- Joined: Wed Mar 12, 2003 2:46 pm
curve between two variables
In Vensim you are not supposed to create a graph between two variables as in the graph tool the time is the X coordinate.
I do not know if there is another way to do it.
you must go to Excel to draw a graph of that kind.
Regards.
J.J. Laublé
I do not know if there is another way to do it.
you must go to Excel to draw a graph of that kind.
Regards.
J.J. Laublé
allocate by priority
<my question here is that there are two compnies in the market and each company has three technologies to produce the same product, but with different cost and capacity. the demand is met by merit of order, and the cost and capacity of each technology may vary. how should i do this in vensim? >
I do not currently use allocate by priority and tried to use it once in a WPI distance course. It is rather tricky.
But you should first clarify what you are trying to do.
What is the order of merit, capacity or cost or both?
Do you want to calculate the allocation of ressources that will maximize the buyers utility or the profit of one of the company or of the three of the companies?
Regards.
J.J. Laublé
I do not currently use allocate by priority and tried to use it once in a WPI distance course. It is rather tricky.
But you should first clarify what you are trying to do.
What is the order of merit, capacity or cost or both?
Do you want to calculate the allocation of ressources that will maximize the buyers utility or the profit of one of the company or of the three of the companies?
Regards.
J.J. Laublé
If I understand your question right this is a marginal cost problem.
I guess, you will need both a lookup function (or series of if than else) and a alloc by priority.
The lookup will only work if the capacities and cost don't change over time (in my case they do). You input a requested qauntity into this, to find out the corresponding costs.
I guess the second part will be how much each machine will produce. Here the allocation function will come in. There is only one problem, the allocation function can only do one subscript. So the combination of x machines with y companies will not work. The solution would be to couple them to another subscript, this way all the work can be allocated.
You should have a variable assign priorities to the machines (use something like vmin in combination with if then else) In your case, allocate priority 6-1. In the allocation the width can not exceed 1 as you will lose the discrete function if you do.
Using this you know the quantity each technology produces and the price against which it is produced, hence the profit is known.
Please let me know if this is correct, I can try to creat a simple example tomorrow.
Jeroen
I guess, you will need both a lookup function (or series of if than else) and a alloc by priority.
The lookup will only work if the capacities and cost don't change over time (in my case they do). You input a requested qauntity into this, to find out the corresponding costs.
I guess the second part will be how much each machine will produce. Here the allocation function will come in. There is only one problem, the allocation function can only do one subscript. So the combination of x machines with y companies will not work. The solution would be to couple them to another subscript, this way all the work can be allocated.
You should have a variable assign priorities to the machines (use something like vmin in combination with if then else) In your case, allocate priority 6-1. In the allocation the width can not exceed 1 as you will lose the discrete function if you do.
Using this you know the quantity each technology produces and the price against which it is produced, hence the profit is known.
Please let me know if this is correct, I can try to creat a simple example tomorrow.
Jeroen
Allocate problem
One remark to Pruyn explanation.
It is possible to transform an array of two or more subscritps into a vector and when the work is done to retransform back the results in your vector into the array. I have done it with the vector sort order function that works only with one subscript, it works fine.
It may work too with the allocate by priority limitation to one subscript.
I have not time right now to study the problem, I may have more this week end.
Regards.
J.J. Laublé
It is possible to transform an array of two or more subscritps into a vector and when the work is done to retransform back the results in your vector into the array. I have done it with the vector sort order function that works only with one subscript, it works fine.
It may work too with the allocate by priority limitation to one subscript.
I have not time right now to study the problem, I may have more this week end.
Regards.
J.J. Laublé
I did it a little different than explained earlier. Thanks to the sugestion from Laube.
For a dissertation on width, work through the refference manual appendix E. It is quite important you understand this, since your model might otherwise come up with unexpected behaviour.
Jeroen
For a dissertation on width, work through the refference manual appendix E. It is quite important you understand this, since your model might otherwise come up with unexpected behaviour.
Jeroen
- Attachments
-
- Allocation.mdl
- (6.51 KiB) Downloaded 1380 times
supply curve
Hi Pruyn
I just sudied the allocation chapter from the reference guide.
It says that the allocation by priority function while still active, should preferably not be any more used.
It uses now the allocate available for a one to many allocation and the find market price, supply at price and demand at price functions for the many to many allocation.
Would not it be more simple to modify your program slightly to avoid the need to study a function that is now obsolete by the many forum users that seem to be interested by the subject?
Regards.
J.J. Laublé
I just sudied the allocation chapter from the reference guide.
It says that the allocation by priority function while still active, should preferably not be any more used.
It uses now the allocate available for a one to many allocation and the find market price, supply at price and demand at price functions for the many to many allocation.
Would not it be more simple to modify your program slightly to avoid the need to study a function that is now obsolete by the many forum users that seem to be interested by the subject?
Regards.
J.J. Laublé
In a lot of other cases the allocate available would be, but in this case I would choose the rectangular version, or the old allocate by priority (they are the same). But to comply with the new directions I added the same model with the new function.
The outcome is the same, but might insights in the behaviour of the suppliers change it can now easily be adjusted. At the moment the priority is price related; it is therefore important to make sure the smallest difference in price is the same as the assigned width, still allowing for equal prices. I have also addressed this in this version.
Jeroen
The outcome is the same, but might insights in the behaviour of the suppliers change it can now easily be adjusted. At the moment the priority is price related; it is therefore important to make sure the smallest difference in price is the same as the assigned width, still allowing for equal prices. I have also addressed this in this version.
Jeroen
- Attachments
-
- Allocation.mdl
- (7.79 KiB) Downloaded 1426 times
Allocation
Hi Pruyn
Thanks for the transformation of the model.
But it will take a bit of time, until I study it!
Regards.
J.J. Laublé
Thanks for the transformation of the model.
But it will take a bit of time, until I study it!
Regards.
J.J. Laublé
-
- Senior Member
- Posts: 1107
- Joined: Wed Mar 12, 2003 2:46 pm
The ALLOCATE_AVAILABLE and MARKET_PRICE functions do represent a pretty general solution to this problem. If you want to use an arbitrary supply/demand curve you can also use FIND_ZERO. an example is attached. FIND_ZERO is less robust, and generally takes longer but does allow for any input curves.
- Attachments
-
- FindZero.mdl
- (3.13 KiB) Downloaded 1561 times