Компьютерное моделирование задачи линейного программирования с разбросом коэффициентов в среде MathCAD

Автор: Лизина Елена Александровна, Хохлова Ольга Викторовна, Щенникова Елена Владимировна

Журнал: Инженерные технологии и системы @vestnik-mrsu

Рубрика: Краткие сообщения

Статья в выпуске: 2, 2012 года.

Бесплатный доступ

Для канонической задачи линейного программирования с неопределенными коэффициентами из заданных замкнутых интервалов реализуется метод невязок в среде Mattaad.

Короткий адрес: https://sciup.org/14719906

IDR: 14719906

Текст краткого сообщения Компьютерное моделирование задачи линейного программирования с разбросом коэффициентов в среде MathCAD

Для канонической задачи линейного программирования с неопределенными коэффициентами из заданных замкнутых интервалов реализуется метод невязок в среде Mathcad.

У значительного числа практических задач, математическими моделями которых являются задачи линейного программирования, исходная информация носит приближенный характер. Такая ситуация характерна, например, для моделей перспективного планирования, в которых используются не известные на данный момент будущие экономические показатели: стоимости продукции, запасы ресурсов, технологические нормативы и т. п. Эти показатели определяются интер-вально с помощью экспертных оценок, прогнозов или проектных расчетов за счет неизбежных процедурных и вычислительных ошибок.

Рассмотрим каноническую задачу линейного программирования:

с’х ^ max, Ах = Ь , х > 0 (1) с неопределенными матрицей А размерности (ж х и), щ-вектором b и и-вектором с из заданных замкнутых интервалов:

| А - А0 <  АА, |Ь - &о < АЬ, |с - Со < Ас. (2) Здесь х — искомый вектор размерности и, «'» — знак транспонирования. Модули матриц и матричные неравенства (2) понимаются поэлементно.

Для решения изложенной задачи воспользуемся методом, предложенным Л. Т. Ащеп-ковым и И. Б. Косогоровой в работе [1]. Основная идея предлагаемого подхода состоит в том, чтобы определить одно решение для всего семейства задач так, чтобы оно было в том или ином смысле приемлемо для каждой задачи семейства. Для этого вводится s-невязка уравнений Ах = b (e's — минимальная норма невязки), а также еще одна задача линейного программирования для вычисления минимальной нормы невязки. Минимум целевой функции обозначим как еЩ+1. Любые векторы s и х, удовлетворяющие неравенствам (3) при sm+i = s^+i, будем называть минимальными невязками уравнения (1) и универсальными планами задачи (1), (2), соответственно.

При переходе от обычных планов к универсальным обеспечивается регуляризация исходной задачи, при этом норма невязки играет роль стабилизирующего функционала. Справедлива теорема.

Теорема [1]. Пусть задача линейного программирования б ^ min, с0х - b0у = 0, А0х = b0, А0у > с0, (4)

Ас'х + АЪ'г + е' ( ААх + АЬ ) + (5) + е' ( ДАг + Ас ) < s,

- 2 у 2 , х 0, 2 0 (6) разрешима. Если х , у , z , б —ее оптимальный план, то х , у — оптимальные универсальные планы задачи (1).

Для реализации этого метода используем возможности среды Mathcad [2]. Покажем решение задачи линейного программирования с разбросом коэффициентов, заданного в стандартной форме на конкретном примере. Пусть матрица А, векторы b и с имеют следующие значения:

"(60 - 68)" b = (70 - 74)

(19 - 21)

С =

<(3 - 5)1

Д5 - 7),

,

Г (1,7 - 2,3) (0,8 - 1,2) )

s m + i ^ mln, - Ах - s < -Ь, Ах - s < Ь, e's - s m + i < 0, х > 0, s > 0

А = (0,6 - 1,4) 0

(2 - 4)

(0,3 - 1,7) у

Приведем задачу к канонической форме, т. е. перейдем от ограничений-неравенств к ограничениям-равенствам. Для этого введем 3 дополнительные переменные, по одной в каждое ограничение. Соответственно добавим эти переменные в целевую функцию, коэффициенты перед ними будут нулевыми.

Получим dx ^ шах, Ах Ь, х 0, где

А =

'(1,7 - 2,3) (0,6 - 1,4)

(0,8 - 1,2) (2 - 4)

(0,3 -1,7)

10 0 >

0 1 0

0 0 1 v

с- = ( ( 3 - 5 ) , ( 5 - 7 ) , 0, 0, 0 ) .

В рассматриваемом примере две переменные Др т2 и три ограничения. Приведем задачу к каноническому виду, увеличив количество переменных до семи, и запишем ее в этом виде в Mathсad. Для рассматриваемого примера система ограничений совместна, следовательно, можно приступать к решению задачи (4) — (6). Оптимальные планы данной задачи по построению будут оптимальными планами задачи (1) с коэффициентами, отвечающими серединам интервалов (2).

Запишем две матрицы коэффициентов А1, А2 и найдем новую расширенную матрицу с коэффициентами, отвечающими серединам интервалов (рис. 1).

Рис. 1. Исходные данные

Аналогично просчитываем вектора b и с. Введем обозначения:

  • —    функция F(A, В, С, Q) находит решение задачи линейного программирования;

  • —    описание переменных в скобках [ ] — размерность аргумента;

  • —    А [n, т] — расширенная матрица условий задачи линейного программирования (записанная с учетом дополнительных и искусственных переменных);

  • —    В [n] — вектор свободных членов (правых частей неравенств);

  • —    С [т] — вектор коэффициентов целевой функции (вместо теоретически бесконечно большого числа М подставить большое 100000000000000);

  • —    Q [n] — вектор индексов исходных базисных переменных.

Полученную задачу решаем симплексным методом. На рис. 2 приведена часть кода программы, описывающей симплексный метод.

Рис. 2. Код программы

Для заполнения промежуточных переменных используется внутренняя переменная N, а вместо возвращаемого вектора Z в конце программы можно написать одно из следующих значений:

  • —    А — следующая матрица системы;

  • —    В — следующий вектор свободных членов (значений базисных переменных);

  • —    Q — индексы базисных переменных.

F(A, В, С, Q) [т, 2] — первый столбец результата — значения переменных соответствующих оптимальному значению, первый элемент второго вектора — значение целевой функции, второй элемент второго вектора — если равен 1, то целевая функция в области допустимых решений ограничена, если равен 0, то целевая функция в области допустимых решений не ограничена.

Рис. 3. Ответ

Решением задачи является вектор х = = (24; 16), максимальное значение функции 192 (рис. 3).

Список литературы Компьютерное моделирование задачи линейного программирования с разбросом коэффициентов в среде MathCAD

  • Ащепков Л. Т. Интервальная задача линейного программирования/Л. Т. Ащепков, И. Б. Ко-согорова//Экономика и математические методы. 2006. Т. 42, № 3. С. 99 104.
  • Кирьянов Д. В. Mathcad 13/Д. В. Кирьянов. СПб.: БХВ-Петербург, 2006. 608
Краткое сообщение