timnon / pyschedule

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

Task's precedence #82

Open Mmorgese opened 5 years ago

Mmorgese commented 5 years ago

Before starting thanks for your work on pyschedule!

The problem is more complex then this, but it can be reduced to this simple scenario. Running the code: S = Scenario('S',horizon=1) ` Ar=S.Resource('Ar')

At=S.Task('At', length=2, schedule_cost=-100, delay_cost=1)

Bt=S.Task('Bt', length=2, schedule_cost=-50, delay_cost=1)

At+=Ar

Bt+=Ar

S+= At<=Bt`

the solver choose to schedule Bt instead of At. How can I make it schedule At instead of Bt? The intention is use the schedule_cost as a priority in the choice of what tasks schedule if there is no enough time to make them all, but the case aforementioned brings to inconsistent schedule (in my scenario).