Constraint using quicksum in Gurobi with for loops, only running outer for loop

Viewed 16

enter image description here

This is my constraint.

How I have formulated is:


    time = list()
    
    for x in range(0,int(num_t)):
        time.append(x)
    
    res_list = [res for cat, cat_res in res_cat2idx.items() for res in cat_res]
    task_list=[task for cat, cat_task in tasks.items() for task in cat_task]
    
    Resources=steel.addVars(res_list,time,vtype=GRB.INTEGER,name="Resources")
    Tasks=steel.addVars(task_list,time,vtype= GRB.BINARY,name="Tasks")   
    
    Taskexecution=steel.addConstrs((gp.quicksum(Tasks[task,t] 
                                                for t in time )==1
                                    for task in heat2tasks),
                                   name="Taskexecution[%s,%d]"%(task,t))   ```
    
    
    {1: <gurobi.Constr *Awaiting Model Update*>,
     2: <gurobi.Constr *Awaiting Model Update*>,
     3: <gurobi.Constr *Awaiting Model Update*>,
     4: <gurobi.Constr *Awaiting Model Update*>,
     5: <gurobi.Constr *Awaiting Model Update*>,
     6: <gurobi.Constr *Awaiting Model Update*>,
     7: <gurobi.Constr *Awaiting Model Update*>,
     8: <gurobi.Constr *Awaiting Model Update*>,
     9: <gurobi.Constr *Awaiting Model Update*>,
     10: <gurobi.Constr *Awaiting Model Update*>,
     11: <gurobi.Constr *Awaiting Model Update*>,
     12: <gurobi.Constr *Awaiting Model Update*>

My loop is not running for t. Can someone please share some knowledge? Why it is happening? My loop is running for task but for t it is not running. It should be 14496(taskt) Instead it gives (task)

0 Answers
Related