Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Инф.Тех / Lab13 / L13

.pdf
Скачиваний:
12
Добавлен:
15.05.2015
Размер:
339.9 Кб
Скачать

Лабораторная работа №13

«Электронные таблицы Excel и автоматизация вычислений на ПК»

РАЗДЕЛ №4. Решение систем уравнений и оптимизационных задач.

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

Любая задача имеет постановку, то есть набор исходных данных, в описании которой излагается суть решаемой проблемы и некоторая неизвестная составляющая, являющаяся целью поиска решения. Рассмотрим простой пример. Необходимо решить уравнение

5x 10 0 . Ясно, что мы, проведя простейшие

арифметические преобразования, легко

получим

ответ

5x 10 , x 10 / 5 2 . В Excel подобное линейное уравнение можно

записать

через

матричную форму

как

Ax B ,

где A - матрица коэффициентов при

неизвестных x ,

в нашем случае

A 5 ,

а B -

матрица свободных членов, для нашего

примера B 10 . Решение будет выглядеть как x A 1 B , где A 1 – обратная матрица. Для вычисления обратной матрицы в Excel используется специальная функция МОБР(массив), которая принимает в качестве параметра матрицу (диапазон ячеек) с числовыми значениями. Помимо этой функции существует еще несколько функций для работы с матрицами:

МОПРЕД(массив) – возвращает определитель матрицы; МУМНОЖ(массив1; массив2) – возвращает матричное произведение двух матриц;

ТРАНСП(массив) – возвращает транспонированную матрицу (строки становятся столбцами и наоборот);

СУММПРОИЗВ(массив1; массив2) – возвращает числовое значение суммы произведений соответствующих элементов массивов.

Важно отметить, что перед внесением формулы, содержащей функции, которые возвращают результат в виде массива/матрицы, необходимо выделить соответствующий диапазон ячеек под будущие значения, а после внесения формулы нажимать не [Enter], а

комбинацию [Ctrl]+[Shift]+[Enter].

Вернемся к нашему примеру и внесем его матрицы на лист Excel.

В таблице мы указываем исходные значения, то есть те данные, которые нам известны.

Первоочередной задачей является вычисление обратной матрицы A 1 . Для ее определения необходимо в ячейке B3 внести формулу «=МОБР(A2)». Так как исходная матрица состоит из 1 элемента, то и результат будет содержать ровно 1 элемент. Можно завершить внесение формулы как [Enter], так и [Ctrl]+[Shift]+[Enter]. Это, пожалуй, единственное исключение для матричных формул, когда в качестве исходной матрицы указывается одноэлементный массив. Теперь осталось определить значение неизвестной x , которое будет результатом

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

«=МУМНОЖ(B3;C2)».

Задание №1: Выполнить решение системы линейных уравнений рассмотренным выше способом. Система уравнений выглядит так:

8x1 3x2 42x1 7x2 2

 

8

3

. Матрица свободных членов

Матрица коэффициентов при неизвестных A

 

 

2

7

 

 

 

 

4

. Решением будет числовая матрица, состоящая

из двух элементов

x

 

. При

B

1

 

2

 

 

 

x2

 

 

выполнении решения системы линейных уравнений учитывайте в ячейках таблицы порядок расположения элементов матриц B и неизвестных.

Решите следующую задачу:

Ателье выпускает три вида изделий: брюки, юбки и жилеты, используя два вида тканей: шерстяную и подкладочную. Нормы расхода тканей характеризуются таблицей (матрица A)

Ткань

Нормы расхода тканей на единицу изделия (м)

брюки

Юбки

Жилеты

 

шерстяная

1,2

0,9

0,75

шелковая

0,9

0,7

0,6

подкладочная

0,7

0,6

0,5

Необходимо определить какое количество брюк, юбок и жилетов получится из 354 метров шерстяной, 273 метров шелковой и 221 метра подкладочной тканей (матрица B).

Вопрос: Как Вы считаете, если матрица A будет иметь нижний/верхний треугольный вид (элементы выше/ниже главной диагонали равны нулю), можно ли выполнить решение системы линейных уравнений методом простой подстановки?

Задание №2: Для решения нелинейных уравнений матричные функции не подходят. Excel предлагает численный подбор параметра как для нелинейных уравнений так и для других задач с одним неизвестным. Подбор параметра выполняется однократно для конкретной ячейки, то есть при выполнении в ячейку помещается конкретное числовое значение. При изменении изначальных условий подбор параметра необходимо будет повторить. Для этого необходимо вызывать диалог «Подбор параметра» через пункт

выпадающего меню «Подбор параметра» кнопки «Анализ "что если"» на ленте «Данные».

Решим нелинейное уравнение 5x3 6x2 4x 8 0 . Выделим для этого ячейку A2 под значения x , а в ячейку B2 внесем формулу уравнения. После этого необходимо вызвать диалог «Подбор параметра» и установить следующие ссылки, как показано на рисунке.

В результате поиска Excel выдаст в ячейке A2 определенное числовое значение, а в ячейке B2 появится приближенное к нулю значение. Точность подбора можно настроить в

диалоге параметров программы Excel указав его в текстовом поле «Относительная погрешность», расположенном в разделе «Формулы». Попробуйте установить меньшее значение относительной погрешности и привести решение к наиболее точному результату.

Вопрос: Какое значение относительной погрешности понадобилось для точного решения нелинейного уравнения с применением численного подбора параметра? Как Вы считаете, если нелинейное уравнение содержит два неизвестных параметра, можно ли с помощью средства Excel «Подбор параметра» решить такое уравнение в несколько этапов? Если да, тогда какое минимальное количество этапов подбора потребуется? Если нет, тогда каким известным Вам способом в Excel можно найти приближенное решение такого уравнения?

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

Оптимизационные задачи встречаются довольно часто, к примеру, каждый раз заходя в магазин, мы стоим перед проблемой максимального удовлетворения тех или иных наших потребностей, соизмеряя их с возможностью нашего кошелька. Куда более серьезный задачи приходиться решать менеджерам и экономистам, когда речь идет о планировании штата сотрудников, фонда заработной платы, составлении оптимального плана производства, планировании рекламной кампании по продвижению продукции на рынок, оптимизации капиталовложений. Несмотря на многообразие этих задач Excel предлагает единый, мощный инструмент для их решения – «Поиск решения». От пользователя требуется только грамотно сформулировать для Excel задачу, а оптимальное решение он найдет сам.

Задание №3: Швейная фабрика "Большевичка" планирует выпуск двух видов костюмов

– мужских и женских. На женский костюм требуется 1 метр шерсти, 2 метра лавсана и 1 человекодень трудозатрат. На мужской костюм требуется 3,5 метра шерсти, 0,5 метра лавсана и 1 человекодень трудозатрат. Всего имеется 350 метров шерсти, 240 метров лавсана и 150 человекодней трудозатрат. Требуется определить, сколько костюмов каждого вида необходимо сшить, чтобы обеспечить максимальную прибыль, если прибыль от реализации женского костюма составляет 10$, а от реализации мужского – 20$. При этом следует иметь в виду, что необходимо сшить не менее 60 мужских костюмов.

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

Для этого необходимо нажать кнопку «Новое окно» ленты «Вид». После этого у нас добавиться еще одно окно, прикрепленное к рабочей области Excel. Для отображения обоих

окон одновременно необходимо нажать кнопку «Упорядочить все» ленты «Вид». В появившемся диалоге выбрать первый пункт и нажать кнопку «OK».

Для одного из окон настроим параметр отображения формул, нажав отражающую

состояние режима кнопку «Показать формулы» ленты «Формулы». Повторное нажатие на кнопку отключает режим формул и в таблице мы наблюдаем только значения результатов вычислений по формулам.

В ячейках A3 и B3 расположены числовые значения прибыли от реализации костюмов мужских и женских соответственно. Ячейки A11 и B11 зарезервированы под переменные значения, в которых Excel при поиске решения будет указывать количество мужских и женских костюмов. То есть, такое количество мужских и женских костюмов, которое удовлетворяет требованиям задачи. Целевая функция (ячейка B13) содержит формулу «=A3*A11+B3*B11», по значению которой Excel будет производить поиск максимального

или минимального значения. Для данной задачи необходимо определить максимальную прибыль. Имеющиеся у фабрики ресурсы ткани и трудозатраты накладывают определенные границы поиска решения. Их необходимо выделить в отдельных ячейках (B17, B20 и B23) таблицы, при этом нужно также рассчитать по формулам текущие затраты на производство определенного (ячейки поиска решения A11 и B11) количества костюмов (ячейки A17, A20 и A23).

Подготовив постановку задачи, можно запустить диалог «Поиск решения» (кнопка «Поиск решения» ленты «Данные»). Для того чтобы данная возможность программы Excel была доступна, необходимо включение (если не включена) надстройки «Поиск решения» (для этого необходимо перейти к диалогу параметров Excel и в разделе «Надстройки» проверить статус включена/отключена надстройка «Поиск решения»). Зададим в диалоге необходимые параметры. Поле «Оптимизировать целевую функцию:» содержит ссылку на ячейку с целевой функцией, максимум которой нам предстоит найти. Группа переключателей «До:» определяет, какой результат целевой функции необходимо достигнуть. Для нас актуально максимальное значение эффекта сбыта. Поле «Изменяя ячейки переменных:» указывает диапазон ячеек, значения которых

Excel будет подбирать в поисках искомого результата. Для нашей задачи этим диапазоном будет A11:B11 – это количество

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

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

Используя кнопку «Добавить» определим области ограничений для задачи. Первым ограничение является установка на то, что значения ячеек A11:B11 (количество изделий) являются целыми неотрицательными (установлен флажок в диалоге) числами.

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

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

Еще одним ограничением из условия задачи является то, что количество мужских костюмов не должно составлять менее 60 изделий. После внесения ограничений можно приступить к выполнению поиска решения. Для этого необходимо нажать кнопку «Найти решение» диалога. Чтобы сохранить найденное решение в ячейках таблицы, необходимо выбрать соответствующий вариант в диалоге окончания поиска решения.

Вопрос: После месяца успешных продаж руководство фабрики решило увеличить численность рабочего персонала в 2 раза. При этом объемы закупаемого сырья (тканей) была увеличена в 3 раза. Маркетологи, основываясь на статистике продаж прошлого месяца, предложили руководству фабрики выпускать мужские костюмы не менее чем в 2 раза больше женских костюмов. Какие изменения, и в каких ячейках будут внесены Вами?

Задание №4: Ткацкая фабрика «Работница» имеет в своем распоряжении определенное количество ресурсов: рабочую силу, деньги, сырье, оборудование, производственные площади и т.п. Ресурсы трех видов: рабочая сила, сырье и оборудование – имеются в количестве соответственно 80 (чел./дней), 480 (кг) и 130 (станко/ч.). Фабрика может выпускать ковры четырех видов. Информация о количестве единиц каждого ресурса, необходимых для производства одного ковра каждого вида, и доходах, получаемых предприятием от единицы каждого вида товаров, приведена в таблице ниже. Требуется найти такой план выпуска продукции, при котором будет максимальной общая стоимость продукции.

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

Ресурсы

Нормы расхода ресурсов на единицу изделия

Наличие

Ковер

Ковер

Ковер

Ковер

ресурсов

 

«Лужайка»

«Силуэт»

«Детский»

«Дымка»

 

 

Труд

7

2

2

6

80

Сырье

5

8

4

3

480

Оборудование

2

4

1

8

130

Цена

3

4

3

1

 

(тыс.руб.)

 

 

 

 

 

 

Отделим диапазон ячеек C13:F13 под переменные, которые определит Excel в процессе поиска решения. Сверху от диапазона необходимо составить формулы контрольных сумм, которые пригодятся Excel в качестве ограничений для сравнения с исходными данными. Фактические трудозатраты (ячейка F9) рассчитываются как сумма произведения нормы расхода трудозатрат на количество изделий определенного вида по всему ассортименту выпускаемой продукции. Другими словами,

необходимо перемножить ячейки C4 и C13,

D4 и D13, E4 и E13, F4 и F13 между собой и сложить. Полученная сумма помещается в ячейку F9. Для упрощения записи формулы можно воспользоваться функцией Excel СУММПРОИЗВ, которая позволяет перемножить соответствующие ячейки двух диапазонов и потом сложить их вместе. То есть в ячейку F9 записывается следующее выражение формулы

«=СУММПРОИЗВ(C4:F4;C13:F13». По аналогии вычисляются значения в ячейках F10, F11 и F12. Целевая функция является показателем рентабельности производства,

поэтому из условия задачи нам предстоит определить максимальное значение в процессе поиска решения.

Запустим диалог «Поиск решения» и установим его параметры. В качестве целевой ячейки укажем F12, где содержится формула для расчета общей суммы. Укажем, что необходимо достигнуть максимального значения целевой функции. Изменяемыми ячейками установим диапазон C13:F13. Добавим ограничения. Значения диапазона ячеек C13:F13 должны быть неотрицательными целыми числами, а значения в

ячейках F9, F10, F11 не должны превышать имеющихся в распоряжении фабрики ресурсов указанных в ячейках G4, G5, G6 соответственно. Выполним поиск решения.

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

Решите самостоятельно следующую задачу:

Три фермерских хозяйства «Зоринка», «Светлый путь», «Травушка» ежедневно могут доставлять в город соответственно 60, 60 и 50 центнеров молока для обеспечения спроса в пяти торговых точках «Буренка», «Золотистый», «Магнат», «Лесной», «Каравай». Стоимость перевозки одного центнера молока и потребности торговых точек в молоке указаны в таблице ниже. Определить оптимальный план поставки молока в каждую точку для покрытия спроса, чтобы суммарные транспортные издержки были минимальными.

Вопрос: Как Вы считаете, увеличение объемов выработки молока «Зоринка» в 1,5 раза и спроса в магазине «Лесной» в 2 раза, приведет ли к увеличению поставок молока между ними? Если да, то связано ли это с ошибочной ценовой политикой конкурентов? Если нет, то каким образом можно увеличить конкурентоспособность молока «Зоринка» относительно других производителей, представленных в ассортименте магазина «Лесной»?

Предоставьте на проверку Ваш отчет преподавателю.