Decision Optimization

Decision Optimization

Delivers prescriptive analytics capabilities and decision intelligence to improve decision-making.

 View Only

How to model a scheduling problem to pick stories (or tasks) from a large list having story points which exactly sum up to the given Team capacity using Cplex Python?

  • 1.  How to model a scheduling problem to pick stories (or tasks) from a large list having story points which exactly sum up to the given Team capacity using Cplex Python?

    Posted Wed August 10, 2022 12:58 PM

    Hello Cplex developers, 

    I am a student and stuck on modelling problem with Docplex/Python. My model is based on house building scheduling tutorial but here it's PI Planning of stories in agile environment. There are 2 Sprints (Sprint is of 2 weeks) in one PI. So basically in my problem, There is a large list of stories (or tasks) having Story Point (here points are kind of hours it takes to  complete it), Team (for which team it belongs to). Stories also have dependencies, parallels constrains and given Team Capacity (It's Team wise and for each Sprints). So objective here is to choose only stories whose total is equal to the Given Team Capacity.

    I got the dependent stories (using end_before_start) and Parallels using my Model. But only thing I'm stuck into is Team Capacity since I'm making dependent stories as not optional but other standalone as optional, and need to take stories which are <= Team Capacity in that time Interval.

    To check for Team Capacity constrain for different Time Intervals, I am taking sum of step_at Function as cumul function (sCapacity). And then substracting the cumul Function (sCapacity) from sum of step_at_start fun (for all stories). I'm also adding constrain to become cumul function to be 0 in order to fill up the Team Capacity. But the problem here is Model not picking up the optional stories.

    So can you please suggest me any idea for maximizing the executed stories for each sprint (2 weeks Time inetrval) which would be same or less the Given Team Capacity. 

    I have attached my model and I would really appreciate your help. Thank you in advance!




    ------------------------------
    Jay
    ------------------------------

    #DecisionOptimization