Приложение - МАТЕМАТИЧЕСКОЕ ПРОГРАММИРОВАНИЕ - Книжный рай
МАТЕМАТИЧЕСКОЕ ПРОГРАММИРОВАНИЕ

Приложение

ИСПОЛЬЗОВАНИЕ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ ПРИ РЕШЕНИИ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

Для многих задач математического программирования предусматривается графическое решение. В случае графического решения задач в плоскости целесообразно использовать программу GRAN1 (авторы М. И. Жалдак, Ю. В. Горошко). Возможности работы с программой GRAN1 подробно описаны в [4]. Здесь рассмотрим лишь те детали работы с программным средством, которые необходимы для решения задач в контексте изучаемого материала.

Название программы GRAN1 продиктовано ее предназначением — графический анализ функций (Graphic Analysis). Для работы с программой необходимо наличие файла GRANl.exe, а в случае использования в работе контекстной помощи — наличие также файла GRANl.hlp. Суммарный объем памяти, необходимый для работы с программой, не превышает 240 Кбайт. После запуска на выполнение файла GRANl.exe на экране появляется изображение, показанное на рис. 1.

Экран условно разделен на шесть частей. Верхнюю часть занимает основное меню. Каждая его команда позволяет обратиться к определенному набору команд (подменю). Центральное место занимает окно "Графік", предназначенное для представления графиков введенных в рассмотрение функций.

89

Рис. 1

Окно "Вибір" отображает количество введенных в рассмотрение функций, их названия, а также тип функциональной зависимости. Одновременно можно работать не более чем с пятью функциями. Каждая из них может быть задана с помощью одного из следующих типов функциональных зависимостей:

• явное задание функции, т. е. зависимость между переменными X и Y представлена в виде у = у(х);

• параметрическое задание, т. е. зависимость между переменными ж и у задается с использованием параметра t: х = x(t),

у = y(t);

• полярное представление функции, т. е. зависимость задана в полярных координатах в виде г = r(F), где г — полярный радиус точки на плоскости; F — полярный угол;

• неявное задание функции, т. е. зависимость между переменными X и Y представлена в виде G(x, у) = 0;

• табличное задание функции.

Программа GRAN1 предусматривает возможность работы со статистической выборкой и объектом типа "Ламана". Для задания типа функциональной зависимости используют команду "Встановити тип" пункта основного меню "Опції".

90

Рис. 2

После того как указан тип функциональной зависимости при обращении к команде "Новий об'єкт", которая находится в подменю команды главного меню "Об'єкт", пользователю предлагается ввести функцию согласно указанному типу.

Пример. Пусть необходимо ввести в рассмотрение функцию Зж+ +7у = 4. Преобразуем выражение, описывающее функцию, к виду G(x,y) = 0 (неявное представление функции):

За; + 7у 4 = 0. (*)

Выберем из основного меню пункт " Опції ", далее — пункт "Встановити тип", а затем "тип G(x,y) = 0" (рис. 2).

В основном меню выбираем пункт "Об'єкт" и далее "Новий об'єкт". После этого вводим левую часть выражения (*), используя клавиатуру либо панель калькулятора, который предлагается программой (рис. 3).

Чтобы ввести выражение с помощью панели калькулятора, необходимо поставить курсор на соответствующую кнопку калькулятора и нажать клавишу "Пропуск". Заканчивается ввод выражения вы91

бором на панели калькулятора кнопки "Введення". Удобно вводить выражения с помощью манипулятора "мышь".

Введенное выражение отображается в окне "Функція". Чтобы получить изображение графика заданной функции в окне "Графік", нужно обратиться к пункту "Графік" основного меню и выбрать подпункт "Побудувати". Аналогичным будет результат при нажатии клавиши F5 (рис. 4).

В нижнем правом углу экрана расположено окно "Статус", которое содержит информацию, о текущем моменте работы с программой.

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

Некоторые возможности программы и ее особенности разберем непосредственно, рассмотрев примеры решения задач с использованием GRAN1.

Графическое решение некоторых задач линейного и нелинейного программирования

Использовать программное средство GRAN1 при решении ЗЛП можно и целесообразно в таких случаях:

1) если ограничений-неравенств не более четырех;

2) переменных в ограничениях-неравенствах не более двух.

Задача 1. Построить многоугольник решения ЗЛП, заданный ограничениями-неравенствами:

Установим тип функциональной зависимости — неявно заданная функция, выбирая последовательно команды " Опції " — "Встановити тип" — "тип G(x, у) = 0 ".

2х + 5у < 10, 5х + 2у < 10, X +  у < 2,5

X > 0, У >0.

(1) (2) (3) (4) (5)

93

Запишем ограничения в виде G(x, у) > 0:

—5х

-2х

X

5у +  10 > 0 2у +  10 > 0 У + 2,5 > О

ж > О,

У >о.

(1')

(2') (3') (4') (5')

Введем в рассмотрение пять функций G1-G5 указанного типа, выбирая последовательно опции "Об'єкт" — "Новий об'єкт". Выражения, которые находятся в левой части ограничений (1')-(5'), вводятся либо непосредственно с клавиатуры, либо с использованием калькулятора на экране. После ввода каждой из функций в окне "Вибір" появляется обозначение для введенной функции, а в окне "Функція" — введенные выражения.

Все функции должны быть активными. Признаком того, что функция активная, является подчеркнутое обозначение функции в окне "Вибір". Если обозначение в окне "Вибір" не подчеркнуто, т. е. функция неактивная, ее необходимо сделать активной. Для этого нужно из главного меню выбрать опцию "Об'єкт", далее "Вибір", установить курсор в окне "Вибір" с помощью стрелок вправо-влево на обозначение функции и нажать клавишу пропуск. (Аналогично отменяется активность функции.)

После того как введены в рассмотрение все функции, причем все они отмечены как активные, необходимо построить графики. Как отмечалось, для этого используют команды "Графік" — "Побудувати". В окне "Графік" появляется изображение пяти графиков (рис. 5). Очевидно, для дальнейшего решения необходимо изменить отрезки наблюдения по координатным осям. Для этого используют команды "Опції" — "Встановити масштаб" — "Масштаб корист. Alt-IT' (рис. 5'). На запрос ввести ХА = — 1; ХВ = 6; YА = — 1; YB = 6. Возможно, для большей наглядности целесообразно использовать команды " Об'єкт" — "Змінити відрізок", поскольку изначально были установлены ХА = YА = —5; ХВ = YВ = 5. Далее из главного меню необходимо выбрать пункт "Операції", а из него — "Система нерів. G(x,y) >= 0". После обращения к данной услуге в окне "Графік" заштриховывается область из точек, координаты которых удовлетворяют все неравенства (1')-(5') (рис. 6). Заштрихованная область является многоугольником решений исходной задачи.

94

 

 

 

 

 

 

 

 

 

--^=-: -|

 

,   ™ч. . _■ ■■ ■'■ ■--1

■—^'-^т— І

 

 

 

ш   • 1

 

 

 

 

... ! ...... і

_ і

 

 

 

■■■ vi

1                   iL   пнчв I^iii ■■■■■■

F En■•■V ■ пілтитчі''

 

 

 

 

1' її          II      PVarX  Ahr 1

 

 

 

 

Рис. 6

Задача 2. Решить графически ЗЛП: найти максимальное значение линейной функции Z = 12х± + Шх2 при ограничениях

ОХ! + 4х2 < 20, Кі.гі + l.r-j < 48,

Зжі + 8ж2 < 30, Х\ > 0,    Ж2 > 0.

Количество ограничений-неравенств не превышает трех (х± > 0; ж 2 > 0 не учитываем), а переменных в записи целевой функции две, т. е. можно использовать программу GRAN1 для графического решения задачи. Перепишем ограничения-неравенства в виде G(x, у) > 0:

20 -

Ъх\

— 4ж2

> о,

48 -

Шх\

— 4ж2

> о,

30 -

Зжі

— 8а*2

> 0.

96

Заменим переменные х± на х, х2 на у и введем в рассмотрение функции

Gl (ж

У) =

20 -

%

G2(x

У) =

48 -

Шх

%

G3(x

У) =

30 -

Зх

-8у

Для этого сначала установим необходимый тип функции: выберем команду главного меню "Опції" и далее "Встановити тип" — " Тип G(y, і) = 0". После того как тип G(x, у) выбран с использованием последовательности команд "Об'єкт" — "Нова функція", задаем функции Gl(x,y); G2(x,y); G3(x,y).

На запрос системы относительно границ по координатным осям (хА; ХВ; у А; у В) в данной задаче целесообразно принять предложенные изначально значения хА = —5; хВ = 5; у А = —5; уВ = 5.

Графики введенных функций строим с помощью команд "Графік" ^"Побудувати" (рис. 7).

97

Рис. Т

Если ввести в рассмотрение функции G4 = х и G5 = у, а затем использовать команду "Операції" "Система перів. G(x,y) >= О", получим многоугольник решений данной задачи (рис. 7').

Для дальнейшей работы удалим из рассмотрения функции G4 и G5. Для этого необходимо поставить курсор в окне "Вибір" на одну из функций и нажать клавишу F8 (или "Об'єкт" — "Вилучити"); то же самое следует повторить для второй функции.

Введем в рассмотрение функцию G4(x,y) = 12х+ Шу, которая соответствует заданной целевой функций Z. Полученный на экране график функции G4 соответствует значению целевой функции zq = 0, т. е. О = \2х + Шу (рис. 8).

В силу того, что данная задача предусматривает нахождение максимального значения целевой функции на заданных ограничениях, то естественно следующий график построить для функции, соответствующей значению Zi > Zq, например 15 = 12х + Шу. Для этого нужно с помощью команды "Об'єкт" — "Змінити функцію" заменить функцию G4(x, у) на функцию G4(x, у) = 12х+ Шу —15. Напомним, что курсор в окне "Вибір" должен находиться на функции G4. Внеся изменения в запись функции G4 и построив график измененной функции G4 (рис. 9), отметим, что значение Z = 15 не является оптимальным решением при заданных ограничениях.

98

—■ ^■-'

Рис. 9

Увеличивая значения Z, повторяя процедуру изменения функции и построения графика, а также учитывая, что целевая функция может достигать оптимального значения в вершинах многоугольника

99

решений, подбираем такое значение Z'onT, при котором график функции G5 пройдет через точку пересечения графиков функций Gl и G3. Очевидно, что подобранное таким образом значение является приближенным. Для более точного подбора значения Z'om можно использовать команды "Графік" — "Збільшити". При этом необходимо в окне "Графік" выделить участок для увеличения — область пересечения графиков функций Gl и G3 (рис. 10), а далее, используя команду " Змінити функцію ", продолжить подбор значения Z'onT (рис. 11). Используя описанный способ, получаем значение целевой функции Zom = 68,55.

Для того чтобы найти не только оптимальное значение ZonT, но и оптимальный план, на котором это значение достигается, необходимо с помощью команды "Графік" — "Координати" отыскать координаты точек пересечения графиков функций Gl и G3. Более точные значения координат точки пересечения можно получить, используя команду "Графік" — "Збільшити". Оптимальный план будет таким (рис. 12):

Рис. 10

100

101

Следует напомнить, что полученные таким образом значения компонент оптимального плана являются приближенными. Однако с помощью команд "Збільшити" и "Координати" можно добиться достаточно высокой точности результата.

Следует отметить, что при решении задачи в GRAN1 часто возникает необходимость использовать не автоматически предложенный системой масштаб, а так называемый Масштаб пользователя, что позволяет рациональнее разместить графики на экране. Напомним, что установить желаемые границы по осям координат позволяют команды "Опції" — "Встановити масштаб" — "Масштаб корист.".

Задача 3. Найти максимальное и минимальное значения функции Z = х\ + х\ — 4х\ — 4x2 + 8 при ограничениях

х\ + Х2 < 7; <   х\ > 0;

Х2 > 0.

Введем в рассмотрение функции Gl (ж, у) = 7 — х — у, G2(x, у) = х, Gi(x,y) = у соответственно ограничениям-неравенствам. Используя известные команды, получаем многоугольник решений данной задачи (рис. 13).

Если преобразовать выражение для Z, то легко увидеть, что уравнение Z = (xi — 2)2 + (ж2 — 2)2 описывает окружность радиуса \fZ с центром в точке (2; 2).

Введем в рассмотрение функцию G4(x, у) = (х — 2)2 + (у — 2)2 и построим ее график. Графиком функции G4 является точка с координатами (2; 2). Использовав команду "Змінити функцію", внесем изменения в запись функции G4. Пусть G4(x, у) = (х — 2)2 + (у — 2)2 — 1. Графиком G4(x,y) является окружность радиуса 1 с центром в точке (2; 2) (рис. 14). Будем увеличивать радиус окружности до касания окружности и прямой. Последний вариант для функции G4 предлагаем такой: G4(x,y) = (х — 2)2 + (у — 2)2 — 4, 53, т. е. радиус окружности равен у/4, 53, что соответствует значению целевой функции Zmax = 4,53 (рис. 15). При использовании команд "Збільшити" и "Змінити функцію" можно добиться более точного результата. Очевидно, что отыскание наименьшего значения функции Z не требует никаких построений, так как оно достигается в точке с координатами (2; 2) области решений и равно нулю, т. е. Zm-m = 0.

102

103

Рис. 16

104

Рис. 17

Если графиком целевой функции является окружность с известным центром, то с помощью программы GRAN1 решить задачу можно другим способом. После того как многоугольник решения задачи построен, из главного меню выбирают команду " Операції ", а далее "Відстань до точки" (рис. 16). Координаты точки (2; 2) можно вводить как с клавиатуры, так и с помощью манипулятора "мышь". Заданная точка отмечена на экране крестиком, а с помощью "мыши" нужно указать точку, от которой вычисляется расстояние до заданной точки. Очевидно, что для данной задачи точку на прямой Gl (ж, у) = 7 — ж — у отмечаем так, чтобы прямая 7 — ж — у = 0и прямая, проходящая через две заданные точки ((2; 2), а также отмеченная точка на прямой) были перпендикулярны (рис. 17). В верхней части окна "Графік" отображаются координаты точки, в которой целевая функция достигает наибольшего значения, и расстояния между заданными точками. В данной задаче ж и 3, 54; у ~ 3,47; г к, 2,13, т. е. Zmax = г2. Окончательно Zmax ~ 2,132 к, 4,54. Как видим, ответы, полученные при разных способах решения, практически равны.

105

Рис. 18

Рис. 19

106

Рис. 20

Рис. 21

107

Задача 4. Найти наибольшее и наименьшее значения функции Z = х\ — бжі + х\ — 6а*2 + 18 при ограничениях

Х\ + Ж2 > 4; .г і .>••_> < 3; О < ж, < ."і: , 0 < ж2 < 6.

Обозначим Х\ через ж, а ж2 — через у и введем в рассмотрение функции Gl (ж, у) = ж + у + 4; G2(x,y) = 3 — жу; G3(x,y) = 5 — ж; G4(x, у) = 6 — у. Используя команды " Операції" — " Система перів. G(x,y) >= 0", получаем многоугольник решений данной задачи (рис. 18). Область решений задачи состоит из двух частей.

Функцию Z можно записать в виде Z = (х\ — З)2 + (ж2 — З)2. Данное уравнение задает окружность радиуса \[Z с центром в точке с координатами (3;3). Используя команды "Операції" — "Відстань до точки", заключаем, что задача имеет два локальных минимума -Zmini и Zm-m2 в точках соответственно (3; 1) и (1; 3), и два локальных максимума Zmaxi и Zmax2 в точках с координатами соответственно (0;6) и (5;0). При этом Zminl = Zmin2 = 4; ZmBXl = 18; ZmBX2 = 13.

Точность получения значении Zmi^x и Zm\n достигается использованием команд "Графік" — "Збільшити". Значения Zmax и Zm\n довольно легко можно получить, введя в рассмотрение функцию G5(x, у) = (ж — З)2 + (у — З)2 и подобрав радиус окружности с помощью команд "Об'єкт" ^"Змінити функцію" (рис. 19-21).

Решение некоторых вычислительных задач математического программирования

При аналитическом решении ряда задач математического программирования довольно часто возникает необходимость выполнения громоздких вычислений как над числами, так и над массивами чисел (матрицами, векторами и т. д.). Ускорить выполнение вычислительных операций и уменьшить вероятность появления ошибок при решении задач позволяет использование различных программных средств. К таким программам, в частности, относятся программное средство DERIVE и известная программа Excel из пакета Microsoft Office. Безусловно, существуют и другие программные средства математического направления, такие как Mathcad, Mathlab,

108

Eureka, но остановимся на программах DERIVE и Excel. Выбор этот не случаен. Программное средство DERIVE довольно распространено среди пользователей ПК (так как существуют версии под DOS и Windows), достаточно полно описано в специальной литературе, удобно в использовании и широко по реализуемым возможностям. Табличный процессор Excel известен пользователям и не требует дополнительного времени на изучение, так как является стандартным продуктом пакета Microsoft Office.

Программа DERIVE предназначена для решения ряда математических задач в символьном виде. К таким задачам относятся: упрощение выражений, выполнение арифметических операций, разложение на множители, нахождение пределов (как в точке, так и на бесконечности), вычисление производных, интегралов, решение уравнений, выполнение действий над матрицами (векторами) и др. Программой предусмотрена возможность построения графиков функций на плоскости и изображения поверхностей в трехмерном пространстве. Следует отметить, что графические возможности программы GRAN1 (относительно случая на плоскости) значительно шире, чем у программы DERIVE.

Для работы с программой DERIVE (для Windows) необходимо иметь файл DFW.EXE. После активизации последнего на экране появляется изображение (рис. 22). Изначально устанавливается активным алгебраическое окно, о чем свидетельствует надпись в верхней левой части экрана. Возможна работа и в графических режимах 2D-PLOT Windows; 3D-PLOT Windows, которые соответствуют двухи трехмерному пространству.

В верхней части экрана постоянно находится основное меню программы, состоящее из набора команд (стандартное оформление программных продуктов для Windows). Для работы с основным меню используется, как правило, манипулятор "мышь". Для выбора команды из основного меню можно воспользоваться " горячей клавишей" — подчеркнутой буквой в названии команды (например, L для выбора команды soLve) — либо пиктограммой.

Выражение для работы можно ввести с клавиатуры (или загрузить из файла), а также с помощью панели с набором символов, предлагаемой в программе. Каждое введенное выражение отображается в алгебраическом окне под определенным номером. Назначение команд основного меню будем разбирать по ходу решения конкретных задач.

109

I. ■

1

Лі

Рис. 22

Задача 1. Для функции F(x,y,z,k,m) найти частные произведем 8F 8F 8F 8F        ^ . ные —, —, —, —, —, если F = xy+yz+k{x+y-2)+m{y+z-2). 8х   8у   8z   8к 8т

Введем в рассмотрение функцию F. Для этого из основного меню выбираем команду Author (щелчок правой клавиши мыши на слове Author). Из дополнительного меню выбираем Expression .. .и далее вводим с клавиатуры выражение для функции F. После того как выражение введено, из основного меню выбираем команду Calculus. После обращения к услуге Calculus на месте главного меню появляется подменю выбранной команды:

Limit...

Differentiate ...

Taylor series ...

integrate ...

S_um ...

P_rodukt...

V_ector...

Для вычисления производных используем команду Differentiate, вслед за выбором которой появляется запрос относительно выраже

110

ния, которое необходимо дифференцировать, переменной, по которой нужно продифференцировать, и порядка производной.

В ответ на запрос необходимо ввести номер выражения, под которым была записана функция — номер 1, переменную дифференцирования variable Іи порядок производной (order) — 1.

После этого под номером 2 в алгебраическом окне будет записано

d

— (ху + yz + к(х + у — 2) + т(у + z — 2)).

Далее выберем команду основного меню Simplify, а из появившегося подменю — Expand. При обращении к команде Expand на экране появляется окно — запрос относительно номера выражения, к которому необходимо применить команду Expand, переменных, используемых в выбранном выражении, и вида подачи выражения после выполнения действий (Trivial, ScuareFree, Rational, Redical).

После ответа на все запросы в окне запросов необходимо выбрать кнопку Expand.

Под номером 3 в алгебраическом окне будет записан результат дифференцирования F по переменной х, а именно к + у. Аналогично находят оставшиеся частные производные (рис. 23).

Если после ответов на запросы относительно переменной дифференцирования и порядка производной выбирается кнопка Simplify, а

dF

не Ок, то в алгебраическом окне записывается не выражение ——(где

do

S — переменная дифференцирования), а сразу результат выполнения дифференцирования. На рис. 23 в алгебраическом окне под номерами #8 и #9 записаны результаты дифференцирования функции F по переменным соответственно кит.

Замечание. С помощью команды CALCULUS программы DERIVE можно находить пределы (однои двусторонние), интегралы (неопределенные и определенные), раскладывать функцию в ряд Тейлора (с заданным количеством первых членов разложения), нак

ходить суммы типа ^ S (S — некоторое выражение; і — параметр

г=а

суммирования; а, к — пределы суммирования соответственно нижк

ний и верхний) и произведения типа Yi Р (рис. 24).

г=а

111

112

Задача 2. Решить систему уравнений матричным методом:

Х\ + 2x2 — Xz = 4; <   2х і — Х2 + жз = 12; Зжі + 2ж2 + Зжз = 26.

Известно, что решением системы будет матрица-столбец

X = А'1 В,

где В =

матрица, обратная к матрице

/ 1      2   -1 \ / Xl \

А =     2   —1      1     ;   X =     Х2      — столбец неизвестных. V 3     2     3 / V ж3 /

Введем в рассмотрение матрицы А и В, используя команду основного меню Author-Matrix.

После того как количество строк (Rows) и столбцов (Column) введено, появляется запрос относительно элементов матрицы. В ответ необходимо ввести соответствующее количество выражений (чисел), которые определяют элементы матрицы. После этого в алгебраическом окне появляется под соответствующим номером (в данном случае под номером 1) матрица А. Аналогично в рассмотрение вводится матрица-столбец В (рис. 25).

Далее необходимо найти матрицу Л-1, обратную к матрице А. Для этого из основного меню выбираем команду Author-Expression. .. В рабочей строке окна Author-Expression вводим выражение (^1)л( —1), где (#1) — номер выражения, которое соответствует матрице А. Заканчиваем ввод выбором кнопки Simplify.

Под номером 3 в алгебраическом окне записана матрица Л-1. Далее, используя команду Author-Expression, перемножаем матрицы Л-1 и В. Для этого в рабочей строке окна Author-Expression вводим (^3) • (ф/^2).

Для наглядности решения закончим ввод А^В выбором кнопки " Ок". Тогда в алгебраическом окне под номером 4 запишется умножение матриц Л-1 и В. Далее используем команду Simplify. Очевидно, что выбрав после ввода выражения А^В кнопку Simplify, под

ИЗ

114

Рис. 27

номером 4 сразу можно было получить результат умножения матриц Л-1 и В (рис. 26).

Программа DERIVE позволяет выполнять транспонирование матриц, сложение и вычитание матриц одинаковой размерности, вычислять определитель квадратной матрицы и др. (рис. 27).

Рассмотрим пример решения одной из задач вычислительного характера с использованием программы Excel.

Задача 3. В таблице приведены данные об исполнении баланса за отчетный период (в условных денежных единицах).

 

Отрасль

Потребление

Объем

1

2

конечного продукта

валового выпуска

1

120

180

240

540

2

280

50

85

415

Вычислить объем валового выпуска по каждой отрасли, если конечный продукт первой отрасли должен увеличиться в 2 раза, а второй отрасли — на 30 %.

115

Решение. Пусть Xij — объем продукции г-й отрасли, потребляемой j-й отраслью в процессе производства = 1,2); ж, — общий (валовой) объем продукции г-й отрасли (г = 1,2).

Тогда Хц = 120; Х12 = 180; Х21 = 280; Х22 = 50; Х\ = 540; Х2 = 415.

По условию задачи конечный продукт первой отрасли должен увеличиться в 2 раза, т. е. с 240 до 480, а второй отрасли — на 30 %,

т. е. с 85 до 110,5. Вектор конечного продукта Y '

110,5

Коэффициенты прямых затрат (щ        = 1,2) вычисляются по

формуле ciij = —       = 1,2):

120 180 540 415

а21 = ?|,0,52;       а22 = § * 0,12.

/ 0,22   0,43 \

Матрица прямых затрат л=1дд2 012/ имеет неотрицательные элементы и удовлетворяет критерию продуктивности:

max{0,22 + 0, 52; 0,43 + 0,12} = тах{0, 74; 0,55} = 0,74 < 1.

Поэтому для каждого вектора конечного продукта Y можно найти необходимый объем валового выпуска X по формуле

Х=(ЕЛ)-1 У.

Очевидно, что отыскать матрицу Е — А легко:

0,78 -0,43

Е — А — ,

'   -0,52 0,88

Матрицу полных затрат S = (Е — Л)-1 вычислим, используя программу Excel.

Введем в рассмотрение матрицу Е — А (диапазон Л1:В2). Проверим, существует ли для матрицы Е — А обратная матрица. Для этого выполним такие действия:

1) переместим курсор в ячейку D1;

2) из главного меню выберем команду "Вставка" — "Функция";

3) из предложенных категорий выберем "Математические", а из предложенных функций — " МОПРЕД";

116

 

1   1 Ml 2

 

 

■Вґ«і»»«

 

і інлрш

■ ОЛИ

__| _

Рис. і35

4) на запрос системы вводим, используя "мышь", диапазон А1:В2 и выбираем "Ок" как окончание ввода (рис. 28).

В ячейку D1 заносится число, равное значению определителя матрицы Е — А. Так как полученное значение определителя (0,4628) не равно нулю, обратная матрица S = (Е — А)-1 существует. Вычислим матрицу S.

Для этого выполним такие действия:

2) выберем из главного меню команду "Вставка" — "Функция"; из предложенного набора категорий выберем "Математические", из набора функций — "МОБР";

117

Рис. 29

3) в ответ на запрос введем диапазон А1:В2 (с помощью "мыши");

4) закончим выполнение команды комбинацией клавиш Shift + + Ctrl + Enter (обязательно).

В диапазоне .1 1 :/>'•"> записана матрица S = (Е — Л)-1 (рис. 29).

Используя формулу X = (Е — А)^ ■ Y, можно отыскать вектор X валового выпуска. Для этого в диапазон А7:А8 введем матрицу Y и перемножим матрицы (Е—А)^ и Y, используя функцию умножения матриц иМУМНОЖ".

118

\Шт^ I** ■   ■        iui" л" Ir-■ и—« i

Ги| I   1.7   J   1-І.  '   '   '        «V  [ I liL И«іі

Рис. ЗО

Очевидно, что результатом умножения матриц размерностей 2x2 и 2 X 1 является матрица-столбец размерности 2x1, поэтому перед обращением к функции " МУМНОЖ" необходимо выделить диапазон клеток, в котором предполагается разместить результат умножения (в данном случае Л10 : ЛИ). На запрос системы относительно множителей необходимо ввести диапазоны Л4 : В5 и Л7 : Л8, в которых располагаются матрицы (Е — Л)-1 и Y. Полученный в диапа4 ш    411 V     ( Ю15,374 \

зоне Л1и : ЛИ вектор А = является ответом задачи

у 725,5618 j

(рис. 30), т. е. объем валового выпуска в первой отрасли нужно увеличить с 540 до 1015,4 усл. ден. ед., а во второй — до 725,6 усл. ден. ед.

119

 

 ...  11



Обратная связь

По любым вопросам и предложениям

Имя и фамилия*

Е-меил

Сообщение*

↑ наверх