I am trying to solve a problem using scipy's linprog function, but running the program I get the following error:
File "C:\...\anaconda3\lib\site-packages\scipy\optimize\_linprog_util.py", line 339, in _clean_inputs elif (len(bounds) == 2 and np.isreal(bounds[0])
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
My doubt is that for the configuration of my matrices in MATLAB I do get results, so I don't know the origin of this error.
The line of code where I call the linprog function looks like this:
from scipy.optimize import linprog
res = linprog(c=f,A_ub=Aineq,b_ub=Bineq,A_eq=Aeq,b_eq=Beq,bounds=[lb,ub],method='interior-point')
I would appreciate any information you could give me about the possible cause of the error.
The all matrices of the optimization problem are shown below:
f= matrix([[7.8, 7.8, 6.4, 6.4, 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. ]])
Aineq= matrix([[ 0. , 0. , 0. , 0. ,-6.66666667, 6.66666667, 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. ],
[ 0. , 0. , 0. , 0. ,-5. , 0. , 5. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. ],
[ 0. , 0. , 0. , 0. , 0. , -4. , 4. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. ],
[ 0. , 0. , 0. , 0. ,0. , 0. , 0. , -6.66666667, 6.66666667, 0. , 0. , 0. , 0. , 0. , 0. , 0. ],
[ 0. , 0. , 0. , 0. , 0. , 0. , 0. , -5. ,0. , 5. , 0. , 0. , 0. , 0. , 0. , 0. ],
[ 0. , 0. , 0. , 0. ,0. , 0. , 0. , 0. , -4. , 4. , 0. , 0. ,0. , 0. , 0. , 0. ],
[ 0. , 0. , 0. , 0. , 0. , 0. , -13.33333333, 0. , 0. , 0. , 13.33333333, 0. , 0. , 0. , 0. , 0. ],
[ 0. , 0. , 0. , 0. ,0. , 0. , 0. , 0. ,0. , -13.33333333, 0. , 13.33333333,0. , 0. , 0. , 0. ],
[ 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. ,0. , 0. , -13.33333333, 0. ,13.33333333, 0. , 0. , 0. ],
[ 0. , 0. , 0. , 0. ,0. , 0. , 0. , 0. , 0. , 0. , 0. , -13.33333333, 0. , 13.33333333, 0. , 0. ],
[ 0. , 0. , 0. , 0. ,0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , -15.98721023, 15.98721023],
[ 0. , 0. , 0. , 0. ,6.66666667, -6.66666667, -0. , -0. ,-0. , -0. , -0. , -0. ,-0. , -0. , -0. , -0. ],
[ 0. , 0. , 0. , 0. ,5. , -0. , -5. , -0. ,-0. , -0. , -0. , -0. ,-0. , -0. , -0. , -0. ],
[ 0. , 0. , 0. , 0. , -0. , 4. , -4. , -0. ,-0. , -0. , -0. , -0. ,-0. , -0. , -0. , -0. ],
[ 0. , 0. , 0. , 0. ,-0. , -0. , -0. , 6.66666667,-6.66666667, -0. , -0. , -0. ,-0. , -0. , -0. , -0. ],
[ 0. , 0. , 0. , 0. ,-0. , -0. , -0. , 5. ,-0. , -5. , -0. , -0. , -0. , -0. , -0. , -0. ],
[ 0. , 0. , 0. , 0. ,-0. , -0. , -0. , -0. , 4. , -4. , -0. , -0. , -0. , -0. , -0. , -0. ],
[ 0. , 0. , 0. , 0. ,-0. , -0. , 13.33333333, -0. , -0. , -0. , -13.33333333, -0. , -0. , -0. , -0. , -0. ],
[ 0. , 0. , 0. , 0. , -0. , -0. , -0. , -0. , -0. , 13.33333333, -0. , -13.33333333, -0. , -0. , -0. , -0. ],
[ 0. , 0. , 0. , 0. ,-0. , -0. , -0. , -0. ,-0. , -0. , 13.33333333, -0. ,-13.33333333, -0. , -0. , -0. ],
[ 0. , 0. , 0. , 0. , -0. , -0. , -0. , -0. ,-0. , -0. , -0. , 13.33333333, -0. , -13.33333333, -0. , -0. ],
[ 0. , 0. , 0. , 0. ,-0. , -0. , -0. , -0. ,-0. , -0. , -0. , -0. ,-0. , -0. , 15.98721023, -15.98721023]])
Bineq= matrix([[2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5,2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5]])
Aeq= matrix([[ 1. , 0. , 0. , 0. , 11.66666667, -6.66666667, -5. , -0. ,-0. , -0. , -0. , -0. , -0. , -0. , 0. , 0. ],
[ 0. , 1. , 0. , 0. , -6.66666667, 10.66666667, -4. , -0. , -0. , -0. , -0. , -0. , -0. , -0. , 0. , 0. ],
[ 0. , 0. , 0. , 0. , -5. , -4. , 22.33333333, -0. , -0. , -0. , -13.33333333, -0. , -0. , -0. , 0. , 0. ],
[ 0. , 0. , 1. , 0. , -0. , -0. , -0. , 11.66666667, -6.66666667, -5. , -0. , -0. , -0. , -0. , 0. , 0. ],
[ 0. , 0. , 0. , 1. , -0. , -0. , -0. , -6.66666667, 10.66666667, -4. , -0. , -0. , -0. , -0. , 0. , 0. ],
[ 0. , 0. , 0. , 0. ,-0. , -0. , -0. , -5. , -4. , 22.33333333, -0. , -13.33333333, -0. , -0. , 0. , 0. ],
[ 0. , 0. , 0. , 0. , -0. , -0. , -13.33333333, -0. , -0. , -0. , 26.66666667, -0. , -13.33333333, -0. , 0. , 0. ],
[ 0. , 0. , 0. , 0. , -0. , -0. , -0. , -0. , -0. , -13.33333333, -0. , 26.66666667, -0. , -13.33333333, 0. , 0. ],
[ 0. , 0. , 0. , 0. , -0. , -0. , -0. , -0. , -0. , -0. , -13.33333333, -0. , 13.33333333, -0. , 15.98721023, -15.98721023],
[ 0. , 0. , 0. , 0. ,-0. , -0. , -0. , -0. , -0. , -0. , -0. , -13.33333333, -0. , 13.33333333, -15.98721023, 15.98721023],
[ 0. , 0. , 0. , 0. ,0. , 0. , 0. , 0. , 0. , 0. , 0. , 13.33333333, 0. , -13.33333333, 0. , 0. ]])
Beq= matrix([[ 0. , 0. , 1.5, 0. , 0. , 1.5, 0. , 0. , 0. , 0. ,-1. ]])
lb= matrix([[ 0.1 , 0.1 , 0.1 , 0.1 , 0. ,-6.28318531, -6.28318531, 0. , -6.28318531, -6.28318531, -6.28318531, -6.28318531, -6.28318531, -6.28318531, 2. ,0. ]]
ub= matrix([[2.5 , 2.5 , 2.5 , 2.5 , 0. ,6.28318531, 6.28318531, 0. , 6.28318531, 6.28318531, 6.28318531, 6.28318531, 6.28318531, 6.28318531, 2. ,inf]])