변수가리스트 인 prob._variables
에서 찾을 수 있습니다, 그래서 당신은 당신이 그러나
prob._variables.remove(var)
사용하여 변수
var
을 삭제할 수 있다고 생각 것, 이것은 단순히 첫째 삭제 어떤 이유로 변수가
==
의 수준에서 구분되지 않기 때문에 prob._variables 변수. 이것에 의하여 나는
var1
과
var2
이
prob
에 관련된 두 개의 변수,
if var1 == var2:
print('Equal')
인 경우 항상 '평등'을 반환하는 것을 의미한다. (시도하지 마십시오 var1 == var2
, 이것은 방정식으로 해석됩니다) . 이것은 당신이하려고하면 출력이 항상 0
여기에 내가, happpening 무슨 설명해야합니다 않습니다보다 더 파이썬을 이해하지만, 누군가가 작업 주위의 것
prob._variables.index(var)
사용 var
의 인덱스를 찾을 수 있다는 것을 의미 :
for i, v in enumerate(prob._variables):
if v is var:
del prob._variables[i]
이 그것을 관련된 모든 제약 조건에서 변수를 삭제하지 않으며, 변수가 여전히 것처럼 펄프는 LP 문제를 해결할 것처럼 보인다. 그래서 나는이 모든 것이 속성 prob._variables
을 변경한다고 생각합니다. 나는 이것이 당신의 상황에서 도움이되지 않는다고 생각하지만, 변수를 지우고 오래된 변수와 같은 이름의 새로운 변수를 추가하고자 할 때 필요하다.
문서에서 아무 것도 보지 못했지만 전문적 지식이 없습니다. 어떤 상황에서이 기능이 필요합니까? 그것을 사용하는 제약이없는 경우; 잘 그것은 중요하지 않습니다 (단지 그들을 지키십시오). 그럴 경우 제약 조건을 제거하는 것이 더 쉬울 수도 있습니다. – sascha
문제는 실제로 유용하지 않은 변수를 모두 포함하는 제약 조건이 있다는 것입니다. 그것은 합계 제약이다. 나는이 매우 중요한 제약 조건 바로 전에 삭제하기를 원했다. – drizo
그래서이 제약은 타당성/목적을 변경하지 않습니까? 솔버는 그다지 신경 쓰지 않을 것입니다. 그리고 왜 이러한 vars 또는이 제약 조건을 추가하기 전에 도움이되지 않는 * 이것을 추론 할 수 없습니까? – sascha