Preciso urgentemente de alguém que me auxilie em Programação Matemática em Python (Programação Inteira) que tenha conhecimento em gap de otimalidade, relaxação lagrangeana, benders, heurística... Valor a combinar R$... (64) 98149-6529!
Estou trabalhando com este modelo de localização de facilidades não capacitadas:
def model_m(dat):
m = Model("M Optimize")
g = {(k,i,j): mod.add_var(name='g{},{},{}'.format(k,i,j),obj=c) for (i,j,c,a) in dat.arcs for (k,d,_,_) in dat.nodes if d > 0}
x = {(i,j): mod.add_var(name='f{},{}'.format(i,j),var_type = BINARY,obj=a) for (i,j,c,a) in dat.arcs}
q = {(k,j): mod.add_var(name = 'q{},{}'.format(k,j)) for (k,d,_,_) in dat.nodes if d>0 for (j,dd,_,_) in dat.nodes if dd<0}
for (j,d,_,_) in dat.nodes:
if d < 0:
for (k,dd,_,_) in dat.nodes:
if dd > 0:
m += xsum(g[k,i,jj] for (i,jj,_,_) in dat.arcs if jj == j) + q[k,j] == xsum(g[k,jj,i] for (jj,i,_,_) in dat.arcs if jj == j)
for (j,d,_,_) in dat.nodes:
if d >= 0:
for (k,dd,_,_) in dat.nodes:
if dd > 0:
if j != k:
m += xsum(g[k,i,jj] for (i,jj,_,_) in dat.arcs if jj == j) - xsum(g[k,jj,i] for (jj,i,_,_) in dat.arcs if jj == j) == 0
for (k,d,_,_) in dat.nodes:
if d > 0:
m += xsum(g[k,i,j] for (i,j,_,_) in dat.arcs if j == k) - xsum(g[k,i,j] for (i,j,_,_) in dat.arcs if i == k) == d
for (k,d,_,_) in dat.nodes:
if d > 0:
for (i,j,_,_) in dat.arcs:
m += g[k,i,j] <= d*x[i,j]
for (k,d,_,_) in dat.nodes:
if d > 0:
m += xsum(q[k,j] for (j,dd,_,_) in dat.nodes if dd < 0) == d
for (j,d,_,_) in dat.nodes:
if d < 0:
m += xsum(q[k,j] for (k,dd,_,_) in dat.nodes if dd > 0) == -d
Pergunta
Darlan Marques da Silva
Preciso urgentemente de alguém que me auxilie em Programação Matemática em Python (Programação Inteira) que tenha conhecimento em gap de otimalidade, relaxação lagrangeana, benders, heurística... Valor a combinar R$... (64) 98149-6529!
Estou trabalhando com este modelo de localização de facilidades não capacitadas:
def model_m(dat):
m = Model("M Optimize")
g = {(k,i,j): mod.add_var(name='g{},{},{}'.format(k,i,j),obj=c) for (i,j,c,a) in dat.arcs for (k,d,_,_) in dat.nodes if d > 0}
x = {(i,j): mod.add_var(name='f{},{}'.format(i,j),var_type = BINARY,obj=a) for (i,j,c,a) in dat.arcs}
q = {(k,j): mod.add_var(name = 'q{},{}'.format(k,j)) for (k,d,_,_) in dat.nodes if d>0 for (j,dd,_,_) in dat.nodes if dd<0}
for (j,d,_,_) in dat.nodes:
if d < 0:
for (k,dd,_,_) in dat.nodes:
if dd > 0:
m += xsum(g[k,i,jj] for (i,jj,_,_) in dat.arcs if jj == j) + q[k,j] == xsum(g[k,jj,i] for (jj,i,_,_) in dat.arcs if jj == j)
for (j,d,_,_) in dat.nodes:
if d >= 0:
for (k,dd,_,_) in dat.nodes:
if dd > 0:
if j != k:
m += xsum(g[k,i,jj] for (i,jj,_,_) in dat.arcs if jj == j) - xsum(g[k,jj,i] for (jj,i,_,_) in dat.arcs if jj == j) == 0
for (k,d,_,_) in dat.nodes:
if d > 0:
m += xsum(g[k,i,j] for (i,j,_,_) in dat.arcs if j == k) - xsum(g[k,i,j] for (i,j,_,_) in dat.arcs if i == k) == d
for (k,d,_,_) in dat.nodes:
if d > 0:
for (i,j,_,_) in dat.arcs:
m += g[k,i,j] <= d*x[i,j]
for (k,d,_,_) in dat.nodes:
if d > 0:
m += xsum(q[k,j] for (j,dd,_,_) in dat.nodes if dd < 0) == d
for (j,d,_,_) in dat.nodes:
if d < 0:
m += xsum(q[k,j] for (k,dd,_,_) in dat.nodes if dd > 0) == -d
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.