0
Gurobi 7.0.2에서 Python 2.7.12를 통해 다음 제약 조건을 추가하려고합니다.구로비 제한 집합 만들기 (하위 집합 포함)
I는 J의 목록이 있습니다
J
[u'Capability Investments',
u'Facilities',
u'Mission #1',
u'Mission #2',
u'New Program Readiness',
u'Site Support',
u'Transformation',
u'Waste Mgt']
을 내 목록 I는 다음과 같습니다
I
[u'Capability Investments', u'Capability Investments', u'Capability Investments',
u'Capability Investments', u'Capability Investments', u'Site Support',
u'Site Support', u'Site Support', u'Site Support', u'Site Support', u'Site Support',
u'Site Support', u'Site Support', u'Site Support', u'Site Support', u'Site Support',
u'Site Support', u'Site Support', u'Site Support', u'Site Support', u'Site Support',
u'Site Support', u'Site Support', u'Facilities', u'Facilities', u'Facilities',
u'Facilities', u'Facilities', u'Facilities', u'Facilities', u'Facilities',
u'Facilities', u'Facilities', u'Facilities', u'Facilities', u'Facilities', u'Facilities',
u'Facilities', u'Facilities', u'Facilities', u'Facilities', u'Facilities', u'Facilities',
u'Facilities', u'Facilities', u'Facilities', u'Facilities', u'Facilities', u'Facilities',
u'Facilities', u'Facilities', u'Facilities', u'Facilities', u'Facilities', u'Facilities',
u'Facilities', u'Facilities', u'Facilities', u'Facilities', u'Facilities', u'Facilities',
u'Facilities', u'Facilities', u'Facilities', u'Facilities', u'Facilities', u'Facilities',
u'Facilities', u'Facilities', u'Facilities', u'Facilities', u'Facilities', u'Facilities',
u'Facilities', u'Facilities', u'Facilities', u'Facilities', u'Facilities', u'Facilities',
u'Facilities', u'Facilities', u'Facilities', u'Facilities', u'Facilities', u'Facilities',
u'Facilities', u'Facilities', u'Facilities', u'Facilities', u'Facilities', u'Facilities',
u'Facilities', u'Facilities', u'Facilities', u'Facilities', u'Facilities', u'Facilities',
u'Facilities', u'Facilities', u'Facilities', u'Facilities', u'Facilities', u'Facilities',
u'Facilities', u'Facilities', u'Facilities', u'Facilities', u'Facilities', u'Facilities',
u'Facilities', u'Facilities', u'Facilities', u'Facilities', u'Facilities', u'Facilities',
u'Facilities', u'Facilities', u'Facilities', u'Facilities', u'Facilities', u'Facilities',
u'Facilities', u'Facilities', u'Facilities', u'Facilities', u'Facilities', u'Facilities',
u'Facilities', u'Facilities', u'Facilities', u'Facilities', u'Facilities', u'Facilities',
u'Facilities', u'Facilities', u'Facilities', u'Facilities', u'Facilities', u'Facilities',
u'Facilities', u'Facilities', u'Facilities', u'Facilities', u'Facilities', u'Facilities',
u'Facilities', u'Facilities', u'Facilities', u'Facilities', u'Facilities', u'Facilities',
u'Facilities', u'Facilities', u'Facilities', u'Facilities', u'Facilities', u'Facilities',
u'Facilities', u'Facilities', u'Facilities', u'Facilities', u'Facilities', u'Facilities',
u'Mission #2', u'Mission #2', u'Mission #2', u'Mission #2', u'Waste Mgt', u'Waste Mgt',
u'Waste Mgt', u'Waste Mgt', u'Waste Mgt', u'Waste Mgt', u'Waste Mgt', u'Waste Mgt',
u'Waste Mgt', u'Waste Mgt', u'Waste Mgt', u'Waste Mgt', u'Waste Mgt', u'Transformation',
u'Transformation', u'Transformation', u'Transformation', u'Transformation',
u'Capability Investments', u'Mission #2', u'Mission #2', u'Mission #1', u'Mission #1',
u'Mission #1', u'Mission #1', u'Mission #1', u'Mission #1', u'Facilities',
u'New Program Readiness', u'New Program Readiness', u'New Program Readiness',
u'Transformation', u'Site Support', u'Site Support', u'Site Support', u'Site Support',
u'Site Support', u'Site Support', u'Mission #1']
내 실패 시도 :
for i in I:
for j in J:
if i == j:
m.addConstr(quicksum(c[i]*x[i])<=f[j])
첫 번째 이유 파에 il은 목록을 열거하지 않았기 때문에 이러한 종류의 제약 조건 추가는 변수 정의와 충돌합니다. 즉, x 변수는 x [0], x [1], x [2], x [3] .... 그래서 나는이 이름들을 "Capability Investments, Facilities, etc."라고 쓸 수는 없다. 내 색인으로. 모든 문제는 내 문제를 해결하는 것으로 평가됩니다.
귀하의 목록은 수식과 일치하지 않는 플랫 목록입니다. –
@David와 일치하지 않는다는 것을 알고 있습니다. 어떻게 작동시킬 수 있습니까? – user8028576
나는 목록을 열거하고 튜플을 만들었다 :'J = list (enumerate (J)) I = list (enumerate (I))'그래도 여전히 공식을 적용 할 수는 없지만 실제로는 효과가 있지만 작동하지 않는다. . – user8028576