Оптимизация СМО
Автор
function opti6(qn, iFlows, nEdges, nFlows, stLimit, flowSourceTarget)
QFlows = zeros(Int, qn + 2, nEdges, nFlows)
for o in 1:nFlows
QFlows[1:qn, :, o] .= iFlows
QFlows[qn+1:qn+2, :, o] .= stLimit[:, :, o]
end
for k in 1:nFlows, i in 1:qn
sign_val = sign(flowSourceTarget[i, k])
if sign_val == -1
for j in 1:nEdges
QFlows[i, j, k] == 1 && (QFlows[i, j, k] = 0)
end
elseif sign_val == 1
for j in 1:nEdges
QFlows[i, j, k] == -1 && (QFlows[i, j, k] = 0)
end
end
end
return QFlows
end