1
선형 프로그래밍을 사용하여 특정 문제를 해결하고 PuLP에 익숙해 지려고합니다. 내 문제는 내 제약 조건 중 일부에만 결정 변수 중 일부가 포함되어 있으며 그들을 선택하는 효율적인 방법을 찾으려고 노력하고있다. 내 모든 의사 결정 변수에 대한제약 조건 할당에서 의사 결정 변수 사용 - PuLP
I 설정 목록을 :
여기 무슨 뜻입니다.
investments = ["1_t1", "2_t1", "1_t2", "2_t2", "1_t3", "2_t3"]
그런 변수를 사전에 넣습니다.
invmt_vars = LpVariable.dicts("Invmts",investments,lowBound=0,cat='Continuous')
그런 다음 목표 변수를 단순히 변수의 합계로 설정했습니다.
prob += lpSum(invmt_vars[i] for i in invmt_vars), 'Sum of all investments'
은 그 때 나는이 예제 같은 제약이 :이 변수 적은 수의 작동
prob += 1_t1 + 2_t2 + 3_t2 <= 25
을하지만, 나는 결국 변수의 수백을 추가하고 싶습니다. 변수 사전을 반복하여 모든 변수를 입력 할 필요없이 찾고있는 변수 만 얻을 수있는 방법이 있습니까?
다음과 같이 전체 사전을 통해 반복 것을 포함지금까지, 정말에만 표시 한 제약 조건 지정 : 나는 단순히 목록에서 의사 결정 변수를 떠날 수 있다면
가prob += lpSum([ingredient_vars[i] for i in Ingredients]) == 100, "PercentagesSum"
그것은 예를 들어, 좋은 것 range
루프를 사용하십시오.
모든 입력에 감사드립니다.
http://www.secnetix.de/olli/Python/list_comprehensions.hawk 그것을 통해 생각에서 문서에이 모양을 수행하는 지능형리스트의 힘을 활용합니다. 나를 올바른 방향으로 향하게 해줘서 고마워. –