Optimization - VECTOR LOOKUP and other approaches ?)
Posted: Wed Feb 07, 2018 5:55 pm
Hello,
I am working on a model which is about the average fuel economy (liter/kilometer) of cars in a stock of cars. The stock has a desired stock level (exogenous). There are 3 types of car representing different combination of price (exogenous) and fuel economy levels (exogenous). Every year, 3 types of cars are bought to supply the stock, and total number of cars bought every year is determined by the inflow of the stock. Annual distance driven by a car is a fixed constant. Average car lifetime is a fixed constant. The period of modelling is from 2018 to 2030.
There is an exogenously defined desired fuel economy level (constant, 7 liter per km per car). So the interest is to explore what would be "optimal" strategy of buying the 3 types of cars per year so that the gap between the "desired fuel economy" and the "average fuel economy of cars in stock" over the period of 2025 to 2030 can be minimized to the extent possible and at the same time the total cost of buying cars per year (throughout 2018 to 2030) can also be minimized to the extent possible.
This is my first time looking at policy optimization in Vensim. I have read the relevant posts carefully, particularly http://www.ventanasystems.co.uk/forum/v ... tor#p13729 and http://www.ventanasystems.co.uk/forum/v ... php?t=6349 . But I think I still need some guidance, and would appreciate very much any help.
Basically I have followed the 2 approaches in the above mentioned posts. Please see the attached 2 models.
For approach 1, I used constants "% of car A in new purchase" and "% of car B in new purchase" to calculate the numbers of car A, B, and C bought every year. Note that C = total purchase per year minus A and B. In the optimizer, I define gap 2025 to 2030 as a payoff , and the total cost of buying cars per year as the other payoff. The weights are just arbitrarily assigned. The optimization parameters are just "% of Car A in new purchase" and "% of Car B in new purchase".
For approach 2, I used the VECTOR LOOKUP to convert car numbers of A, B, and C to be values in the vector. Therefore, the optimization parameters are "Car A number time value [Year]" and "Car B number time value [Year]". The payoff definition is the same as approach 1.
I am not entirely sure if I have done it correctly. Approach 2 seems to have followed the VECTOR LOOKUP approach discussed in the other 2 posts. But there were warnings about this approach as made in the posts. As for approach 1, I am not sure what I have done is a "closed-loop" thing. Maybe not. How to do it? Moreover, this approach 1 seems to have an extra limitation, which is to fix the % of car type A, B, C in each year's new purchase, whereas the optimized result of approach 2 does not impose such limitation. Moreover, how to appropriately assign weights to the two payoffs if they are considered equally important? Alternatively, would it be possible to prioritize payoffs if I have a range of payoffs?
Fundamentally, I am wondering whether these two approaches make sense, and whether there are better ways to model this case?
Thank you so much!
I am working on a model which is about the average fuel economy (liter/kilometer) of cars in a stock of cars. The stock has a desired stock level (exogenous). There are 3 types of car representing different combination of price (exogenous) and fuel economy levels (exogenous). Every year, 3 types of cars are bought to supply the stock, and total number of cars bought every year is determined by the inflow of the stock. Annual distance driven by a car is a fixed constant. Average car lifetime is a fixed constant. The period of modelling is from 2018 to 2030.
There is an exogenously defined desired fuel economy level (constant, 7 liter per km per car). So the interest is to explore what would be "optimal" strategy of buying the 3 types of cars per year so that the gap between the "desired fuel economy" and the "average fuel economy of cars in stock" over the period of 2025 to 2030 can be minimized to the extent possible and at the same time the total cost of buying cars per year (throughout 2018 to 2030) can also be minimized to the extent possible.
This is my first time looking at policy optimization in Vensim. I have read the relevant posts carefully, particularly http://www.ventanasystems.co.uk/forum/v ... tor#p13729 and http://www.ventanasystems.co.uk/forum/v ... php?t=6349 . But I think I still need some guidance, and would appreciate very much any help.
Basically I have followed the 2 approaches in the above mentioned posts. Please see the attached 2 models.
For approach 1, I used constants "% of car A in new purchase" and "% of car B in new purchase" to calculate the numbers of car A, B, and C bought every year. Note that C = total purchase per year minus A and B. In the optimizer, I define gap 2025 to 2030 as a payoff , and the total cost of buying cars per year as the other payoff. The weights are just arbitrarily assigned. The optimization parameters are just "% of Car A in new purchase" and "% of Car B in new purchase".
For approach 2, I used the VECTOR LOOKUP to convert car numbers of A, B, and C to be values in the vector. Therefore, the optimization parameters are "Car A number time value [Year]" and "Car B number time value [Year]". The payoff definition is the same as approach 1.
I am not entirely sure if I have done it correctly. Approach 2 seems to have followed the VECTOR LOOKUP approach discussed in the other 2 posts. But there were warnings about this approach as made in the posts. As for approach 1, I am not sure what I have done is a "closed-loop" thing. Maybe not. How to do it? Moreover, this approach 1 seems to have an extra limitation, which is to fix the % of car type A, B, C in each year's new purchase, whereas the optimized result of approach 2 does not impose such limitation. Moreover, how to appropriately assign weights to the two payoffs if they are considered equally important? Alternatively, would it be possible to prioritize payoffs if I have a range of payoffs?
Fundamentally, I am wondering whether these two approaches make sense, and whether there are better ways to model this case?
Thank you so much!