timnon / pyschedule

pyschedule - resource scheduling in python
Apache License 2.0
291 stars 61 forks source link

Sorting Jobs #59

Open ozansabirlioglu opened 6 years ago

ozansabirlioglu commented 6 years ago

Hi Tim,

Can i ask a question about dispatching jobs? I created process route, production resources etc. But when code is scheduling, which parameters is minimizing? How can we manage scheduling parameters?

Thank you.

timnon commented 6 years ago

Please be more specific with the question

ozansabirlioglu commented 6 years ago

Thank you for quick feedback Tim. 👍

i defined process route (tasks), resources etc. Then, i solve problem with using "solvers.mip.solve". After that i get a schedule. But i dont know what is objective function?

For example, i am scheduling production machines. sometimes i want to minimize total setup time, sometimes i want to minimize late order number. how can I solve for like purposes?

timnon commented 5 years ago

The way to set objectives is currently quite limited. The default objective is to minimize the sum of starting times of tasks. But you can heuristically optimize by changing parameters to see until when a feasible solution can be found.

So if you want to minimize total setup times, and setups are tasks, you can search for the minimum number of required setups. Actually, for this case, you can also set a parameter called schedule_cost to specify the cost of scheduling of some task.

Hence, it is usually possible to approximate an objective.