How to get the square root(sum of binary decission variable)
AnsweredHi Team,
Hope you are doing well.
In this df i have defined the decission binary variable
origin  fixed_cost  var_cost  cap  open 
chennai  $ 50,000  $ 2.23  400,000  <gurobi.Var *Awaiting Model Update*> 
bhopal  $ 56,000  $ 2.32  240,000  <gurobi.Var *Awaiting Model Update*> 
jaipur  $ 65,000  $ 2.25  300,000  <gurobi.Var *Awaiting Model Update*> 
kolkata  $ 65,000  $ 2.45  200,000  <gurobi.Var *Awaiting Model Update*> 
nasik  $ 55,000  $ 2.21  300,000  <gurobi.Var *Awaiting Model Update*> 
pune  $ 89,000  $ 2.56  300,000  <gurobi.Var *Awaiting Model Update*> 
sonipat  $ 95,000  $ 2.78  240,000  <gurobi.Var *Awaiting Model Update*> 
My goal is to get the square root of (sum of "open") variable (√(∑(open)) )
I am looking forward to get resolved this shortly
Thanks
Munasib
0

Hi Mohd,
You can decompose √(∑(open)) into two constraints:
sum_open = model.addVar(ub=ub1, vtype="I")
sqrt_sum_open = model.addVar(ub=ub2)
model.addConstr(sum_open == df["open"].sum())
model.addConstr(sum_open == sqrt_sum_open**2)Note that if there is a limit to how many "open" binary variables can be 1 in an optimal solution then you should use this value for ub1, and sqrt(ub1) for ub2.
Note, if your objective function is simply sqrt_sum_open then you don't actually need the square root, you can use sum_open instead.
 Riley
0
Please sign in to leave a comment.
Comments
1 comment