Использовать eval:
x="ls | wc"
eval $x
y=$(eval $x)
echo $y
Не уверен, что вы можете уменьшить сложность, но вы можете сократить время внутренних циклов.
u != v
на внешнем уровне, не выполняйте внутренние циклы, просто чтобы убедиться, что ничего не поделаешь , как это (для последнего условия)
sorted_experts = sorted(Experts)
for p1 in projects:
for u1 in Skills:
for v1 in Skills:
if u1!=v1: # do this check here
for ei,i1 in enumerate(sorted_experts):
for ej in range(ei+1,len(sorted_experts)):
j1 = sorted_experts[ej] # no need to test for indices
ycond = y[i1,u1,j1,v1,p1] # cache your condition variables
zcond = z[i1,u1,j1,v1,p1]
w = Wp[p1]
m.addConstr( ycond <= zcond )
m.addConstr( ycond <= w )
m.addConstr( ycond >= zcond + w - 1 )