Python Gurobi - напишите двойную проблему для подачиPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Python Gurobi - напишите двойную проблему для подачи

Сообщение Anonymous »

Используя gurobipy , я могу написать свою первичную проблему с помощью model.write () . Я также знаю, что могу рассчитать двойные с помощью m.getattr ("pi", m.getconsts ()) . Теперь мне любопытно, если вместо того, чтобы записывать двойную модель вручную в коде, если можно легко генерировать двойной LP и записать ее в файл, как мы записываем первичную проблему в файл .lp . Вот какой -то игрушечный код, с которым я пытаюсь сделать это, не стесняйтесь проверять его на досуге: < /p>
import gurobipy as gp
import os
from gurobipy import GRB

def write_to_file(model, filestring):
directory = os.getcwd()
filename = directory+filestring
model.write(filename)

nodes = ['s', 'a', 'b', 'c', 'd', 'e','t']
orig = 's'
dest = 't'

arcs, capacity = gp.multidict({
('s', 'a') : 1,
('a', 'b') : 3,
('b', 'a') : 2,
('c', 'e') : 4,
('s', 'b') : 4,
('a', 'd') : 4,
('b', 'd') : 3,
('d', 't') : 9,
('s', 'c') : 6,
('b', 'e') : 1,
('e', 't') : 4
})

m = gp.Model("Rec4")

# add our variables
flow = m.addVars(arcs, name = "flow")

# cannot go over capacity
m.addConstrs(
(flow.sum(i,j) 0:
print('%s -> %s: %g' % (i, j, solution[i, j]))

write_to_file(m, "//test.lp")

########################################################################
# Dual problem
duals = m.getAttr("Pi", m.getConstrs())
print(duals)



Подробнее здесь: https://stackoverflow.com/questions/665 ... em-to-file
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»