108
«меньшую сторону» будет x
1
= 1 и x
2
= 0. Это решение допустимо, но оно
очень далеко от оптимального. Трудно представить себе даже возможность
существования общего, имеющего практическую ценность метода округления
дробного решения для задач средней и большой размерности, который давал
бы оптимальное целочисленное решение.
Еще более неприятная особенность, свойственная задачам целочисленного
программирования, заключается в том, что нет простого способа
,
позволяющего определить, является ли данное допустимое решение
оптимальным. В этом одно из важных отличительных pазличий между
задачами целочисленного и линейного программирования. Чтобы показать это
различие, предположим, что в приведенной выше задаче (6.3.5) – (6.3.7) нужно
проверить, является ли решение x
1
= x
2
= 1 оптимальным. С этой целью нужно
проверить, соответствует ли это решение какому-либо локальному оптимуму в
том смысле, что значение целевой функции не улучшается в любой соседней
целочисленной точке (или в узле решетки) x
1
= 1 + d и x
2
= 1 + е, где d, e = —1;
0; 1. Покажите, что допустимыми соседними точками в данном случае
являются точки (x
1
= x
2
= 0; x
1
= 0 и x
2
= 1; x
1
= 0 и x
2
= 2; x
1
= 1 и x
2
= 0).
Покажите также, что решение x
1
= x
2
= 1 на самом деле лучше всех этих
решений, но, тем не менее, не является оптимальным. Следовательно,
некоторая точка может быть локально оптимальной по отношению к соседним
точкам решетки, но все-таки не соответствовать глобальному оптимуму.
Сейчас уже пора задать вопрос, сводится ли наилучший общий метод
решения к простому перебору всех допустимых
решений и последующему
выбору наилучшего из них. Если имеется всего несколько допустимых
решений, то такой метод действительно проще реализовать, чем любой из
рассмотренных далее в этой главе алгоритмов. В ряде случаев, встретившихся
на практике, именно такой метод и применялся. Однако, как правило, метод
полного перебора оказывается неработоспособным. Это объясняется тем, что
число допустимых решений не всегда конечно, но даже тогда, когда условие
конечности не нарушается, это число обычно огромно. Рассмотрим, например,