해결하려는 선형 정수 프로그램이 있습니다. 솔버 glpk (덕분에 this answer)와 pyomo를 설치했습니다. 다음과 같은 코드를 작성했습니다 :Pyomo : Access Solution from Python 코드
from pyomo.environ import *
from pyomo.opt import SolverFactory
a = 370
b = 420
c = 2
model = ConcreteModel()
model.x = Var([1,2], domain=NonNegativeIntegers)
model.Objective = Objective(expr = a * model.x[1] + b * model.x[2], sense=minimize)
model.Constraint1 = Constraint(expr = model.x[1] + model.x[2] == c)
# ... more constraints
opt = SolverFactory('glpk')
results = opt.solve(model)
이렇게하면 파일 results.yaml
에 대한 솔루션이 생성됩니다.
동일한 모델을 사용하면서 다른 a
, b
및 c
값을 사용하여 해결하고 싶은 많은 문제가 있습니다. 나는 a
, b
및 c
에 다른 값을 할당 모델을 해결 model.x[1]
및 model.x[2]
의 용액을 제조하고, a
, b
, c
, model.x[1]
및 model.x[2]
의 목록을 갖고 싶어. documentation을 읽었지만 예제는 results.yaml
과 같은 파일에만 해결책을 씁니다.
코드에서 솔루션 값에 액세스 할 수있는 방법이 있습니까? 이 당신을 위해 무엇을 찾고 있습니다,하지만 내가 몇 가지 변수가 내 스크립트 중 하나에 인쇄되는이 방법의 경우
덕분에,
디는 한 동안이 lib 디렉토리를 사용하지 마십시오. model.x.value에 액세스 할 수 없습니까? 또한 모델입니다. 목표. 값. – sascha
@ sascha, 감사합니다. 나는'for model.x : print (model.x [i] .value)'를 시도해 보았습니다. –
@ sascha, 왜 내가이 lib를 사용하면 안되는지 말해 주면 좋을 것입니다. 당신은 [WinGLPK] (http://winglpk.sourceforge.net/)을 의미합니까? –