Hello,
I'm trying to optimize a model I have created. Unfortunately I can only specify one function to optimize
(minimize/maximize). However my model requires a number of parameters optimized and I'm struggling with how to define
the optimization function.
My process model involves a number of different processing "units" linked in a chain. The items move from one
end of the process through these units. They are not all linked so different items can take different paths based on a
probability. Each processing unit requires a number of different resources and takes a certain amount of time to
complete. If there are insufficient resources when an item arrives at a unit it will queue up.
What I need to find is the minimum number of resources required that has queues at a minimum whilst keeping throughput
at a maximum.
If my optimization function is "minimize queue lengths" then the optimizer will stop when it finds a
configuration that has small queue lengths, but the resource numbers might be huge. If I use "minimize resource
quantities" then obviously it will say zero resources is the best. So I have to combine minimize queue lengths with
minimize resource quantities with maximize throughput. I'm assuming this will entail creating a function that takes
queue length, resource quantity and throughput and adds a weight to each of them, combines them somehow and returns a
single value. Is this the best approach?
Does anyone have any other suggestions? This seems like it would be a fairly common problem to solve so I thought there
might be a standard solution.
Thanks
- Joel
Joel — 08.06.10
Actually, I've just visited OptTek Systems' website to read up on the OptQuest engine and found this "new"
feature:
http://www.opttek.com/Products/Multi-Objective.html
Which is exactly what I'm after. Is AnyLogic Professional 6.5 built using this version of the OptQuest engine, and if
so, is there an interface available to the modeler to define these multiple objectives for optimization?
- Joel
Pavel — 08.07.10
Hi Joel,
We plan to extend the current functionality of the OptQuest Engine included in AnyLogic in future. Probably, the
multi-objective feature will be also included.
Michael Gibbs — 23.07.10
You may just need to have a profit assigned to each product completed and a cost to each resouce used/bought
so your fuction would be to maximise profit - cost
How ever, do not be surprised to see some high margin product lines get maxed out which may cause big queues for the low
margin products.
I would shoot for a cost structure of profits = 2 x costs