Отзыв о дипломной работе (ВКР специалиста) студентки математико-механического факультета Санкт-Петербургского государственного университета направления 010101 – Математика Афанасьевой Ольги Анатольевны на тему Точный симплекс-метод при целочисленных исходных данных В качестве темы дипломной работы О.А.Афанасьевой было предложено изучить способы решения задачи линейного программирования, не использующие деление и оперирующие только целыми числами (либо рациональными, представленными как отношение двух целых). Один из этих методов, детально изложенный в статье [1], требовалось подробно разобрать, запрограммировать и продемонстрировать его работу на примерах. Другие методы предполагалось рассмотреть в обзорной части дипломной работы. Метод [1], которому посвящена основная часть работы, является целочисленным вариантом симплекс-метода. В этом варианте, говоря упрощённо, обратная базисная матрица заменена присоединённой. Этот подход описан во 2-й главе работы. Исходная задача линейного программирования при его применении должна быть преобразована в задачу с ограничениями Ax=0 и двусторонними ограничениями на переменные. Соответственно модифицируется симплекс-метод именно для таких задач. Это несколько усложнило алгоритм, но и при этом его описание и реализация не представляют математических трудностей. Идеей метода является использование особых матриц, названных Q-матрицами и строящихся по матрице ограничений A и выбранному базису. Описанию свойств Q-матрицы и ее связи с матрицей, являющейся присоединенной для базисной, посвящена 1-я глава выпускной работы. Алгоритм главе 2 описан в целом правильно, работоспособен. Но из пошагового описания (шаг 6) в параграфе 2.2 получается, что вычисление Q-матрицы производится заново на каждой итерации метода. Это плохо. Дело в том, что по определению Q-матрицы такой расчет означает вычисление определителей в количестве, равном числу элементов матрицы. А нужен он для того, чтобы при смене базиса преобразовать Q-матрицу поворотом и выделить из неё присоединенную. Даже просто каждый раз заново считать присоединённую матрицу было бы менее трудоёмко. Текст компьютерной программы, приложенной к диплому, подтверждает, что расчёт ведётся именно так. Автор дипломной работы не заметила, что по идее авторов [1] Q-матрица на очередной итерации не вычисляется заново, а просто выписывается, поскольку ее составные части уже готовы. В заключение главы 2 О.Афанасьева указывает, что вычислительная сложность рассмотренного алгоритма полиномиальна, и ссылается на [6]. Между тем в [6] этого, конечно, не сказано. Обзорная часть в дипломной работе отсутствует. В качестве некоторой компенсации автором изложен в главе 3 и запрограммирован алгоритм решения линейных систем без операции деления, не связанный с Q-матрицами. Он заключается в особом способе вычисления определителей, используемых в правиле Крамера. Мы помним, однако, что и обычное решение по правилу Крамера системы Ax=b при целых значениях из A и b будет оперировать только целыми числами до последнего шага. Преимущество излагаемого метода перед стандартным в дипломной работе не подчёркнуто. Глава 4 посвящена программной реализации алгоритмов. Компьютерная программа была нужна автору в любом случае, иначе провести серию расчетов даже при небольшом количестве переменных было бы крайне затруднительно. Такая программа, как уже упоминалось, составлена и прилагается к дипломной работе. Первоначально предполагалось, что программа будет написана на языке VBA и будет выполняться в среде EXCEL. Можно было ожидать красочную пошаговую демонстрацию расчетов. Однако в окончательный вариант работы дипломница включила программу на языке Python. Она хорошо описана в работе, но удобный пользовательский интерфейс отсутствует, программа должна запускаться с консоли командной строкой. Результат выводится также на консоль либо в указанный файл. При этом пользователь должен иметь на своем компьютере установленный Python и библиотеку NumPy. Инструкция по установке этих средств в операционной системе Windows, приведенная в главе 4 и выполненная буквально, не срабатывает. Так что добротно сделанная программа всё-таки не является продуктом для внешнего пользователя. Работа выглядит законченной, ее содержание и оформление в целом соответствуют требованиям, предъявляемым к выпускной работе специалиста. Стилевые погрешности незначительны. Общий уровень работы соответствует оценке «удовлетворительно». Научный руководитель, к.ф.м.н., доцент кафедры исследования операций СПбГУ И.В.Агафонова