Hi,
I am trying to solve a many to many allocation problem with heterogenous preferences. Specifically, the matching between positions (lets call it demand) and labor (supply), with both subscripted based on education (e.g. five categories spanning primary to higher graduate). We have supply and demand for each education level, which are best matched to same level, but could also be matched to neighboring levels (e.g. a masters graduate can fill the job needing only a bachelors). The allocation by priority and related functions don't cover this case (given heterogeneity in preference for suppliers/demanders), but seems the 'Market Match X01' could be the right choice. However, I can't find any help on this function so can't figure out how to use it. Any help on that is much appreciated (and thoughts on computational costs of using it).
Thanks,
Hazhir
Help for Market Match X01 or alternatives?
Re: Help for Market Match X01 or alternatives?
I think MARKET MATCH may have issues. Probably the best way to do this at present is with FIND ZERO. I think I have an example.
Computational cost will depend on size of the dimensions, but if it's only 5ish, it shouldn't be problematic.
Computational cost will depend on size of the dimensions, but if it's only 5ish, it shouldn't be problematic.
/*
Advice to posters (it really helps us to help you)
http://www.ventanasystems.co.uk/forum/v ... f=2&t=4391
Blog: http://blog.metasd.com
Model library: http://models.metasd.com
Bookmarks: http://delicious.com/tomfid/SystemDynamics
*/
Advice to posters (it really helps us to help you)
http://www.ventanasystems.co.uk/forum/v ... f=2&t=4391
Blog: http://blog.metasd.com
Model library: http://models.metasd.com
Bookmarks: http://delicious.com/tomfid/SystemDynamics
*/
Re: Help for Market Match X01 or alternatives?
Thanks Tom. Will reach out directly for example. The computational costs are probably OK for 5 and find zero, but may become problematic when subscripted over multiple regions each with its own allocation, and doing calibration runs. Any way we can use vector elm map to calculate later subscripts based on earlier ones for the same variable? That may allow for simpler solutions that go through subscripts one by one and carry the residual to feed the next, but seems not allowed in Vensim anymore (used to be OK in early 2000s).
Re: Help for Market Match X01 or alternatives?
What we probably should have for situations like this is a set of linear program-based functions. In addition to the situation you describe, I can think of several others that could be handled by an LP:
- multiple suppliers and demanders of a commodity product, but with a [supplier,demander] matrix of shipping costs that make preferences heterogeneous
- suppliers who can produce multiple products, but face an aggregate constraint on the output quantity
FIND ZERO can probably handle these, and generalizes to nonlinear constraints, but at considerable cost in complexity.
- multiple suppliers and demanders of a commodity product, but with a [supplier,demander] matrix of shipping costs that make preferences heterogeneous
- suppliers who can produce multiple products, but face an aggregate constraint on the output quantity
FIND ZERO can probably handle these, and generalizes to nonlinear constraints, but at considerable cost in complexity.
/*
Advice to posters (it really helps us to help you)
http://www.ventanasystems.co.uk/forum/v ... f=2&t=4391
Blog: http://blog.metasd.com
Model library: http://models.metasd.com
Bookmarks: http://delicious.com/tomfid/SystemDynamics
*/
Advice to posters (it really helps us to help you)
http://www.ventanasystems.co.uk/forum/v ... f=2&t=4391
Blog: http://blog.metasd.com
Model library: http://models.metasd.com
Bookmarks: http://delicious.com/tomfid/SystemDynamics
*/
Re: Help for Market Match X01 or alternatives?
I'll have to think back about what changed for VECTOR ELM MAP; I think we had to change something for correct equation sequencing, but it was way back.
/*
Advice to posters (it really helps us to help you)
http://www.ventanasystems.co.uk/forum/v ... f=2&t=4391
Blog: http://blog.metasd.com
Model library: http://models.metasd.com
Bookmarks: http://delicious.com/tomfid/SystemDynamics
*/
Advice to posters (it really helps us to help you)
http://www.ventanasystems.co.uk/forum/v ... f=2&t=4391
Blog: http://blog.metasd.com
Model library: http://models.metasd.com
Bookmarks: http://delicious.com/tomfid/SystemDynamics
*/
Re: Help for Market Match X01 or alternatives?
Thanks Tom. An LP function built into Vensim could go a long way towards solving a lot of different problems, could that be on the development path?
Absent that, would building an external function to do LP that comes packaged in the example external function with Vensim installation be a feasible lift for an upcoming release?
Absent that, how much work is it for a non-developer like me to build such an external function? and how much computational overhead would that impose (compared to a built in function in Vensim)?
Absent that, would building an external function to do LP that comes packaged in the example external function with Vensim installation be a feasible lift for an upcoming release?
Absent that, how much work is it for a non-developer like me to build such an external function? and how much computational overhead would that impose (compared to a built in function in Vensim)?
-
- Super Administrator
- Posts: 4667
- Joined: Wed Mar 05, 2003 3:10 am
Re: Help for Market Match X01 or alternatives?
We've done it twice in the past. Way back (25 years ago), I implemented the simplex code from numerical recipes. And I know Tom wrote code a few years ago include LP Solve in Vensim. Both efforts were via external functions. What we have is certainly out of date by now.
I'll create a ticket in our internal system to implement this again.
I'll create a ticket in our internal system to implement this again.
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
http://www.ventanasystems.co.uk/forum/v ... f=2&t=4391
Units are important!
http://www.bbc.co.uk/news/magazine-27509559
Re: Help for Market Match X01 or alternatives?
Thanks, that would be great. In the meantime, I found a recent SDR paper by George Backus does a lot of what one may need without going the LP/optimization route, here is the link for those interested: https://onlinelibrary.wiley.com/doi/10. ... .1744?af=R
The Vensim implementation is well documented, but still rather dense and may be an overkill for some problems, possibly with notable computational overhead due to many sort operations.
The Vensim implementation is well documented, but still rather dense and may be an overkill for some problems, possibly with notable computational overhead due to many sort operations.