<html dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" id="owaParaStyle"></style>
</head>
<body fpstyle="1" ocsi="0">
<div style="direction: ltr;font-family: Tahoma;color: #000000;font-size: 10pt;">Hello to the community,
<div><br>
</div>
<div>I am not sure if this mailing list is the right place to ask however, I will since members from Pyomo mailing group proposed me to write here. </div>
<div><br>
</div>
<div>So I am using IPOPT solver (3.10.1) (and more specifically the MUMPS Linear Solver) in Windows 7 through Pyomo, an algebraic modelling language in Python. So, I have modelled a nonlinear and non-convex problem (optimal power flow for those who have an
insight of power engineering) and then I am calling the solver. </div>
<div><br>
</div>
<div>My problem contains many equality and inequality constraints that are non-linear. For a special grid topology my problem is always solved and my results are correct so the modelling is correct, however for another grid topology my problem is solved only
when I remove a group of non-linear inequality constraints. Even if it does not help a lot, this group is the following (in python):</div>
<div><br>
</div>
<div>
<div> def thermal_lim_ineq_con(model, i, j, k):</div>
<div> if line_loading_limit == True:</div>
<div> P_branch_ij = (model.V_magn[i, k]**2) * np.float(real(Y_matrix[i, j])) - model.V_magn[i, k] * model.V_magn[j, k] * (np.float(real(Y_matrix[i, j])) * cos(model.V_angle[i, k]-model.V_angle[j, k]) + np.float(imag(Y_matrix[i,j])) * sin(model.V_angle[i,
k]-model.V_angle[j, k]))</div>
<div> Q_branch_ij = (model.V_magn[i, k]**2) * np.float(imag(Y_matrix[i, j])) + model.V_magn[i, k] * model.V_magn[j, k] * (np.float((real(Y_matrix[i, j]))) * sin(model.V_angle[i, k]-model.V_angle[j, k]) - np.float(imag(Y_matrix[i,j])) * cos(model.V_angle[i,
k]-model.V_angle[j, k]))</div>
<div> <span style="font-size: 10pt;"> return (sqrt((P_branch_ij**2) + (Q_branch_ij**2)) <= limits_flows[i, j]) ########### ATTENTION (if all limits_flows multiplied with 2.5 it works !!??)</span></div>
<div><span style="font-size: 10pt;"> else: </span></div>
<div> return Constraint.Skip </div>
<div> </div>
<div> model.therlim_ineq_con = Constraint(branch_from_to, scenario_set, rule = thermal_lim_ineq_con) # run this constraint for all branches </div>
</div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<div>If I keep this group, then the number of iterations (300) is exceeded and no solution is found. If I remove this group then I get a solution so the problem is here. Another clue, is that my values on the right part (limits flows) are small in the range
of [10**-4, 10**-3]. Finally, I do not know if this can help you more, however if I multiply all those values on the right part with *2.5 then the problem is solved ! Is it possible that my non-linear problem is somehow ''trapped'' in a region and can not
find the solution??</div>
<div><br>
</div>
<div><br>
</div>
<div>Based on those clues, could you help me? Maybe ideas, to change some parameteres of IPOPT? Do you think this is an IPOPT problem?</div>
<div><br>
</div>
<div><br>
</div>
<div>Thank you very much for your time. </div>
<div><br>
</div>
<div>Best regards,</div>
<div>Christos Antonakopoulos </div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
</div>
</body>
</html>