Я пытаюсь решить проблему MILP с PuLP и CBC.COIN-OR: Какие значения принимает ограниченная положительная целочисленная переменная в процессе оптимизации, решаемом CBC?
За исключением остальной части проблемы, я сталкиваюсь с проблемой с набором положительных целых переменных. У меня есть ограничение с релаксацией, а это означает, что некоторые переменные из положительных целых переменных не привязаны к определенному значению из-за ограничений.
Итак, перефразируя из набора положительных целых чисел некоторые из них получают значения из-за какого-либо ограничения, но когда это же ограничение расслаблено (большая релаксация M), остальным переменным не нужно получать определенные стоимость.
Это зависит от CBC, чтобы дать им значения. Большинство из них идут в 0, но некоторые из них получают значение верхней границы переменной, которая равна 1440. Почему? CBC randonly передает эти значения этим переменным? Существует ли какое-либо правило, согласно которому соврел?
Если вы что-то не поняли, дайте мне знать, чтобы я мог добавить информацию или перефразировать, я новичок в этом. Спасибо.
Благодарим вас за ответ. Считаете ли вы, что исправление переменной до определенного значения (например, 0) является хорошей практикой? Разве это слишком много вычислительной мощности? Или просто сообщите выходной программе, что, если значение является одной из двух границ, оно должно игнорироваться? – dimrizo
Обычно любая информация, которую вы можете дать решателю о решениях, которые вы ожидаете или ищете, поможет. Я часто устанавливал переменные на известное значение - это особенно полезно для отладки модели с известным решением – TimChippingtonDerrick