33
Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования Уфимский государственный авиационный технический университет РЕШЕНИЕ ЗАДАЧ ОПТИМИЗАЦИИ СРЕДСТВАМИ SCILAB И EXCEL Лабораторный практикум по дисциплине «Математическая экономика» Уфа 2011

РЕШЕНИЕ ЗАДАЧ ОПТИМИЗАЦИИ СРЕДСТВАМИ SCILAB …asu.ugatu.ac.ru/library/105/metodichkamatekonom.pdfВариант 8. Рацион кормления

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: РЕШЕНИЕ ЗАДАЧ ОПТИМИЗАЦИИ СРЕДСТВАМИ SCILAB …asu.ugatu.ac.ru/library/105/metodichkamatekonom.pdfВариант 8. Рацион кормления

Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение

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

РЕШЕНИЕ ЗАДАЧ ОПТИМИЗАЦИИ СРЕДСТВАМИ SCILAB И EXCEL

Лабораторный практикум

по дисциплине «Математическая экономика»

Уфа 2011

Page 2: РЕШЕНИЕ ЗАДАЧ ОПТИМИЗАЦИИ СРЕДСТВАМИ SCILAB …asu.ugatu.ac.ru/library/105/metodichkamatekonom.pdfВариант 8. Рацион кормления

Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение

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

Кафедра автоматизированных систем управления

РЕШЕНИЕ ЗАДАЧ ОПТИМИЗАЦИИ СРЕДСТВАМИ SCILAB И EXCEL

Лабораторный практикум

по дисциплине «Математическая экономика»

Уфа 2011

Page 3: РЕШЕНИЕ ЗАДАЧ ОПТИМИЗАЦИИ СРЕДСТВАМИ SCILAB …asu.ugatu.ac.ru/library/105/metodichkamatekonom.pdfВариант 8. Рацион кормления

Составители: Л. М. Бакусов, О. В. Кондратьева.

Решение задач оптимизации средствами Scilab и Excel : Методические указания к лабораторной работе по дисциплине «Математическая экономика» / Уфимск. гос. авиац. техн. ун-т; Сост.: Л.М. Бакусов, О.В. Кондратьева - Уфа, 2011. - 33 с. Содержатся основные сведения, необходимые для решения задач линейного программирования посредством программных продуктов Scilab 5.1.1 и Microsoft Office Excel 2007. Пособие предназначено для студентов специальности 080801 «Прикладная информатика в экономике» с целью закрепления знаний и навыков, полученных при изучении курса «Математическая экономика».

Ил. 14. Библиогр.: 7 назв. Рецензенты: канд. техн. наук, доц. Поречный С.С.

канд. техн. наук, доц. Бабак С.Ф.

© Уфимский государственный авиационный технический университет, 2011

Page 4: РЕШЕНИЕ ЗАДАЧ ОПТИМИЗАЦИИ СРЕДСТВАМИ SCILAB …asu.ugatu.ac.ru/library/105/metodichkamatekonom.pdfВариант 8. Рацион кормления

СОДЕРЖАНИЕ ЛАБОРАТОРНАЯ РАБОТА №1………………………………….......5 1.Цель работы и задачи…………..……………………………………5 2.Теоретическая часть…………………………………………………5

2.1. Постановка задачи. Задача определения оптимального ассортимента продукции….............………..…………………………5

2.2. Построение математической модели…………………….....6

3. Описание лабораторного оборудования…………………………..7 4. Задание………………………………………………………………8 5. Методика выполнения задания…………………………………...13

5.1 Основы построения двумерных графиков в Scilab………..13 5.2 Графическое решение задачи линейного программирования

в Scilab…………………………………………………………………14 5.3 Решение ЗЛП с помощью функции Scilab…………………18

6. Контрольные вопросы……………………………………………..21 7. Список литературы………………………………………………...22 ЛАБОРАТОРНАЯ РАБОТА №2………………………………….....23 1.Цель работы и задачи…………..…………………………………..23 2.Теоретическая часть………………………………………………..23 3. Описание лабораторного оборудования…………………………23 4. Задание……………………………………………………………..24 5. Методика выполнения задания…………………………………...27

5.1 Решение задачи определения оптимального выпуска продукции……………………………………………………………..27

5.2 Решение задачи определения оптимального количества сотрудников в штате….………………………………………………29 6. Контрольные вопросы……………………………………………..32 7. Список литературы………………………………………………...32

Page 5: РЕШЕНИЕ ЗАДАЧ ОПТИМИЗАЦИИ СРЕДСТВАМИ SCILAB …asu.ugatu.ac.ru/library/105/metodichkamatekonom.pdfВариант 8. Рацион кормления

ЛАБОРАТОРНАЯ РАБОТА №1

РЕШЕНИЕ ЗАДАЧ ОПТИМИЗАЦИИ В SCILAB

1.Цель работы и задачи

построение математической модели задачи линейного программирования;

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

решение задачи линейного программирования средствами SciLab.

2.Теоретическая часть

2.1. Постановка задачи. Задача определения оптимального ассортимента продукции

Предприятие изготавливает два вида продукции — П1 и П2, которая поступает в оптовую продажу. Для производства продукции используются два вида сырья — А и В. Максимально возможные запасы сырья в сутки составляют 9 и 13 единиц соответственно. Расход сырья на единицу продукции вида П1 и П2 дан в таблице.

Сырье Расход сырья на 1 ед. продукции Запас сырья, ед.

П1 П2

А 2 3 9

В 3 2 13

Опыт работы показал, что суточный спрос на продукцию П1

никогда не превышает спроса на продукцию П2 более чем на 1 ед. Кроме того, известно, что спрос на продукцию П2 никогда не превышает 2 ед. в сутки. Оптовые цены единицы продукции равны: 3 д. е. — для П1 и 4 д. е. — для П2.

Page 6: РЕШЕНИЕ ЗАДАЧ ОПТИМИЗАЦИИ СРЕДСТВАМИ SCILAB …asu.ugatu.ac.ru/library/105/metodichkamatekonom.pdfВариант 8. Рацион кормления

Какое количество продукции каждого вида должно производить предприятие, чтобы доход от реализации продукции был максимальным?

2.2 Построение математической модели Процесс построения математической модели для решения

поставленной задачи начинается с ответов на следующие вопросы: 1. Для определения каких величин должна быть построена

модель, т. е. как идентифицировать переменные данной задачи? 2. Какие ограничения должны быть наложены на переменные,

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

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

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

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

Предположим, что предприятие изготовит x1 единиц продукции П1 и x2 единиц продукции П2. Поскольку производство продукции ограничено имеющимися в распоряжении предприятия сырьем каждого вида и спросом на данную продукцию, а также учитывая, что количество изготовляемых изделий не может быть отрицательным, должны выполняться следующие неравенства:

2x1 + 3x2 ≤ 9; 3x1 + 2x2 ≤ 13; x1 - x2 ≤ 1;

Page 7: РЕШЕНИЕ ЗАДАЧ ОПТИМИЗАЦИИ СРЕДСТВАМИ SCILAB …asu.ugatu.ac.ru/library/105/metodichkamatekonom.pdfВариант 8. Рацион кормления

x2 ≤ 2; x1≥ 0; x2 ≥ 0.

Доход от реализации x1 единиц продукции П1 и x2 единиц продукции П2 составит:

F = 3x1 + 4x2.

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

3. Описание лабораторного оборудования

(используемых программных комплексов) Scilab - это система компьютерной математики, которая

предназначена для выполнения инженерных и научных вычислений, таких как:

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

аппроксимация, метод наименьших квадратов); • решение обыкновенных дифференциальных уравнений и

систем. Кроме того, Scilab предоставляет широкие возможности по созданию и редактированию различных видов графиков и поверхностей.

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

Page 8: РЕШЕНИЕ ЗАДАЧ ОПТИМИЗАЦИИ СРЕДСТВАМИ SCILAB …asu.ugatu.ac.ru/library/105/metodichkamatekonom.pdfВариант 8. Рацион кормления

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

4. Задание 1)Построить математическую модель задачи линейного

программирования согласно варианту. 2) Решить задачу графическим методом. 3) Решить задачу линейного программирования средствами

SciLab и сравнить с п.2. 4) Ответить на контрольные вопросы.

Варианты заданий:

Вариант 1. Для изготовления двух видов продукции используется три вида сырья. При производстве единицы продукции первого вида затрачивается 13 кг сырья первого вида, 4 кг сырья второго вида и 3 кг сырья третьего вида. При производстве единицы продукции второго вида затрачивается 2 кг сырья первого вида, 4 кг сырья второго вида и 14 кг сырья третьего вида. Запасы сырья первого вида составляют 260 кг, второго – 124 кг, третьего – 280 кг. Прибыль от реализации единицы продукции первого вида составляет 12 ден. ед., прибыль от реализации единицы продукции второго вида составляет 10 ден. ед. Максимизировать прибыль от реализации продукции.

Вариант 2. Предприятие располагает тремя производственными ресурсами (сырьем, оборудованием, электроэнергией) и может организовать производство продукции двумя различными способами. Расход ресурсов за один месяц и общий ресурс при каждом способе производства даны в таблице (в усл. ед):

Производственные ресурсы

Расход ресурсов за 1 месяц при работе Общий

ресурс I способом II способом Сырье 1 2 4 Оборудование 1 1 3 Электроэнергия 2 1 8

Page 9: РЕШЕНИЕ ЗАДАЧ ОПТИМИЗАЦИИ СРЕДСТВАМИ SCILAB …asu.ugatu.ac.ru/library/105/metodichkamatekonom.pdfВариант 8. Рацион кормления

При первом способе производства предприятие выпускает за

один месяц 3 тыс.изделий, при втором – 4 тыс.изделий. Сколько месяцев в году предприятие должно работать каждым из способов, чтобы при наличных ресурсах обеспечить максимальный выпуск продукции?

Вариант 3. При откорме каждое животное должно получать не менее 9 ед. белков, 8 ед. углеводов и 11 ед. протеина. Для составления рациона используют два вида корма, представленных в следующей таблице:

Питательные вещества

Количество единиц питательных веществ на 1 кг

корма 1 вида корма 2 вида Белки 3 1 Углеводы 1 2 Протеин 1 6

Стоимость 1 кг корма первого вида – 4 д.е., второго – 6 д.е. Составьте дневной рацион питательности, имеющий

минимальную стоимость. Вариант 4. Цех выпускает трансформаторы двух видов. Для

изготовления трансформаторов обоих видов используются железо и проволока. Общий запас железа – 3 т, проволоки – 18 т. На один трансформатор первого вида расходуются 5 кг железа и 3 кг проволоки, а на один трансформатор второго вида расходуются 3 кг железа и 2 кг проволоки. За каждый реализованный трансформатор первого вида завод получает прибыль 3 д. е., второго — 4 д. е.

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

Вариант 5. Имеются две почвенно-климатические зоны, площади которых соответственно равны 0,8 и 0,6 млн га. Данные об урожайности зерновых культур приведены в следующей таблице:

Зерновые культуры

Урожайность (ц/га) Стоимость 1 ц. д.е. 1-я зона 2-я зона

Озимые 20 25 8 Яровые 25 20 7

Page 10: РЕШЕНИЕ ЗАДАЧ ОПТИМИЗАЦИИ СРЕДСТВАМИ SCILAB …asu.ugatu.ac.ru/library/105/metodichkamatekonom.pdfВариант 8. Рацион кормления

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

Вариант 6. Компания производит большие и маленькие садовые скамейки. Каждая скамейка должна быть построена и отполирована. На постройку маленькой скамейки уходит 2 часа, на полировку 3 часа. На постройку большой уходит 4 часа, на полировку 3 часа. Строительный цех работает 100 часов в неделю, а полировочный 90.

Прибыль, получаемая с маленькой скамейки, составляет 5 ден. ед., а с большой – 7 ден. ед. Сколько скамеек каждого вида должна производить компания для максимизации прибыли?

Вариант 7. Звероферма выращивает черно-бурых лисиц и песцов. На звероферме имеется 10 000 клеток. В одной клетке могут быть либо две лисы, либо 1 песец. По плану на ферме должно быть не менее 3000 лис и 6000 песцов. В одни сутки необходимо выдавать каждой лисе корма – 4 ед., а каждому песцу – 5 ед. Ферма ежедневно может иметь не более 200 000 единиц корма. От реализации одной шкурки лисы ферма получает прибыль 10 д.е., а от реализации одной шкурки песца – 5 д. е. Какое количество лисиц и песцов нужно держать на ферме, чтобы получить наибольшую прибыль?

Вариант 8. Рацион кормления коров на молочной ферме может состоять из трех продуктов: сена, силоса и концентратов. Эти продукты содержат питательные вещества: белок, кальций и витамины. Численные данные представлены в таблице.

Продукты Питательные вещества

Белок (г/кг) Кальций (г/кг) Витамины (г/кг)

Сено 50 10 2 Силос 70 6 3 Концентраты 180 3 1

В расчете на одну корову суточные нормы потребления белка

и кальция составляют не менее 2000 и 210 г соответственно. Потребление витаминов строго дозировано и должно быть равно 87 мг в сутки.

Page 11: РЕШЕНИЕ ЗАДАЧ ОПТИМИЗАЦИИ СРЕДСТВАМИ SCILAB …asu.ugatu.ac.ru/library/105/metodichkamatekonom.pdfВариант 8. Рацион кормления

Составить самый дешевый рацион, если стоимость 1 кг сена, силоса и концентрата равна соответственно 1,5; 2 и 6 денежных единиц (д.е.).

Вариант 9. Нефтеперерабатывающий завод производит за месяц 1 500 000 л алкиата, 1 200 000 л крекинг-бензина и 1 300 000 л изопентола. В результате смешивания этих компонентов в пропорциях 1:1:1 и 3:1:2 получается бензин сорта А и Б соответственно. Стоимость 1000 л бензина сорта А составляет 90 ден.ед., 1000 л бензина сорта Б – 120 ден.ед.

Определить план производства на месяц бензина сортов А и Б, максимизирующий стоимость выпущенной продукции.

Вариант 10. Предприятие в течение планового периода выпускает 2 вида продукции: табуретки и стулья. При их производстве используются 3 вида ресурсов. Данные по их расходу на выпуск одного изделия, запасы ресурсов, а также прибыль от реализации единицы продукции приведены в таблице. Табуретка Стул Запас ресурса Ресурс 1, ед. 4 6 240 Ресурс 2, ед. 3 2 120 Ресурс 3, ед. 1 1 80 Прибыль, ден.ед. 4 5

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

Вариант 11. Для изготовления двух видов изделий А и В используется токарное, фрезерное, сварочное и шлифовальное оборудование. Затраты времени на обработку одного изделия для каждого из типов оборудования, общий фонд рабочего времени каждого типа оборудования, а также прибыль от реализации указаны в таблице:

Тип оборудования

Затраты времени на обработку одного изделия вида

Общий фонд рабочего времени А В

Фрезерное 2 4 120 Токарное 1 8 280 Сварочное 7 4 240 Шлифовальное 4 6 360 Прибыль(руб.) 10 14

Page 12: РЕШЕНИЕ ЗАДАЧ ОПТИМИЗАЦИИ СРЕДСТВАМИ SCILAB …asu.ugatu.ac.ru/library/105/metodichkamatekonom.pdfВариант 8. Рацион кормления

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

Вариант 12. Кондитерская фабрика для производства двух видов карамели A и B использует три вида основного сырья: сахарный песок, патоку и фруктовое пюре. Для карамели вида А требуется 0,8т сахарного песка и 0,4 т патоки, для карамели вида В – 0,5 т сахарного песка, 0,4 т патоки и 0,1 т фруктового пюре. Запасы сахарного песка 800 т, патоки – 600 т, фруктового пюре – 120 т. Прибыль от реализации 1т карамели вида А – 108 т.руб., вида B – 112 т.руб.

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

Вариант 13. Для изготовления двух видов продукции используется три вида сырья. При производстве единицы продукции первого вида затрачивается 12 кг сырья первого вида, 4 кг сырья второго вида и 3 кг сырья третьего вида. При производстве единицы продукции второго вида затрачивается 4 кг сырья первого вида, 4 кг сырья второго вида и 12 кг сырья третьего вида. Запасы сырья первого вида составляют 300 кг, второго – 120 кг, третьего – 252 кг. Прибыль от реализации единицы продукции первого вида составляет 30 ден. ед., прибыль от реализации единицы продукции второго вида составляет 40 ден. ед. Требуется составить такой план выпуска, чтобы максимизировать прибыль от реализации продукции.

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

изделие Общее

количество ресурсов стол шкаф

Древесина 1 вида 0,2 0,1 40 Древесина 2 вида 0,1 0,3 60 Трудоемкость 1,2 1,5 371,4 Прибыль(руб.) 6 8

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

Page 13: РЕШЕНИЕ ЗАДАЧ ОПТИМИЗАЦИИ СРЕДСТВАМИ SCILAB …asu.ugatu.ac.ru/library/105/metodichkamatekonom.pdfВариант 8. Рацион кормления

5. Методика выполнения задания 5.1 Основы построения двумерных графиков в Scilab Scilab содержит набор функций для графического

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

Общий вид команды plot:

plot(x,y,[xcap,ycap,caption]),

где x, y - два вектора одинакового размера; xcap, ycap, caption - подписи осей X, Y и графика. Команда plot изображает параметр y как функцию от

параметра x. Параметры xcap и ycap являются соответствующими наименованиями осей координат графика x и y. Параметр caption является заголовком графика.

Пример: plot (x, sin(x),"sin", "time", "plot of sinus") – пример построения

синусоиды. Можно задать аргумент двумя способами: 1) тремя значениями – минимальным(amin), шагом(step) и

максимальным значением(amax): a=(amin:step:amax).

x=2:0.2:3 – аргумент от 2 до 3 с шагом 0,2. 2) указать все значения как одномерный массив значений в квадратных скобках через пробел: x=[2 2.2 2.4 2.6 2.8 3.0] – аргумент от 2 до 3 с шагом 0,2. Команда plot2d обычно применяется для линейных графиков.

Для уничтожения предыдущего содержания окна используйте команду xbasc().

Page 14: РЕШЕНИЕ ЗАДАЧ ОПТИМИЗАЦИИ СРЕДСТВАМИ SCILAB …asu.ugatu.ac.ru/library/105/metodichkamatekonom.pdfВариант 8. Рацион кормления

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

Каждое из неравенств (см.п.2.2) системы ограничений задачи геометрически определяет полуплоскость соответственно граничными прямыми:

ai1 x1+ai2 x2=bi; (i=1, 푚); x1=0; x2=0;

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

Заменим знаки неравенств на знаки равенств и выразим для удобства x2 через y получим следующее:

2x1 + 3x2 = 9; 3x1 + 2x2 = 13; x1 - x2 = 1; x2 = 2; x1 = 0; x2 = 0.

2x + 3y = 9; 3x + 2y = 13; x - y = 1; y = 2; x = 0;

y = 0. Построим многоугольник решений. Для этого в правом

верхнем квадранте системы координат изобразим граничные прямые:

푦 = 3 −23

푥;

푦 =132

−32

푥; 푦 = 푥 − 1; 푦 = 2.

Для построения графиков создадим sce-файл (файл с расширением *.sce) – для этого необходимо запустить редактор(рис.1).

Page 15: РЕШЕНИЕ ЗАДАЧ ОПТИМИЗАЦИИ СРЕДСТВАМИ SCILAB …asu.ugatu.ac.ru/library/105/metodichkamatekonom.pdfВариант 8. Рацион кормления

Рисунок 1 - Запуск редактора в Scilab В sce-файл запишем следующую программу:

x=0:0.1:6; y1=3-2/3*x; y2=6.5-1.5*x; y3=x-1; plot(x,y1,'-r',x,y2,'-g',x,y3,'-b'); x=[0 6]; y=[2 2]; plot2d2(x,y); // построение графика y4=2 xgrid();

Запустим программу на выполнение: Execute / Load all into

Scilab и получаем следующее:

Рисунок 2 – Результат работы sci-файла

Из рисунка видно, что областью решений является

многоугольник ABCDЕ. Затем покажем направляющий вектор целевой функции. Так

как целевая функция равна: F = 3x1 + 4x2, то для построения вектора (3;4) используется построение отрезка (0; 0)-(3; 4), причем в функции plot сначала перечисляются абсциссы точек, а затем ординаты:

mtlb_hold('on'); plot([0 3],[0 4],'--b','LineWidth',2);

Page 16: РЕШЕНИЕ ЗАДАЧ ОПТИМИЗАЦИИ СРЕДСТВАМИ SCILAB …asu.ugatu.ac.ru/library/105/metodichkamatekonom.pdfВариант 8. Рацион кормления

Рисунок 3 – Направляющий вектор

Задача определения максимума функции F сводится к

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

Из рисунка 3 следует, что по отношению к многоугольнику решений опорной эта прямая становится в точке D, где функция принимает максимальное значение. Точка D лежит на пересечении прямых L1и L3.

Для определения ее координат решим систему уравнений, составленных из уравнений прямых L1и L3. Предварительно разнесем свободные члены и переменные в разные стороны:

푦 +23

푥 = 3;푦 − 푥 = −1.

Для решения подобных систем уравнений в Scilab существует функция linsolve. Общий вид функции:

linsolve(K,k), где K – таблица, составленная из коэффициентов уравнений

системы, причем она сформирована таким образом, что каждая

Page 17: РЕШЕНИЕ ЗАДАЧ ОПТИМИЗАЦИИ СРЕДСТВАМИ SCILAB …asu.ugatu.ac.ru/library/105/metodichkamatekonom.pdfВариант 8. Рацион кормления

строка представляет собой список коэффициентов одного из уравнений системы, а каждый столбец – список коэффициентов при одноименных переменных, то есть если первым элементом в первой строке является коэффициент при y, то первыми элементами других строк также должны быть коэффициенты при y в соответствующих уравнениях;

k – столбец, содержащий свободные (стоящие после знака «=») коэффициенты.

Для решаемой системы уравнений:

퐾 =1 2

31 −1

푘 = 3−1

В командное окно Scilab запишем следующие команды для

решения системы уравнений: K=[1,2/3;1,-1]; k=[3;-1]; linsolve(K,k) Результатом решения станет список значений переменных x и

y,причем значения переменных расположены в столбце в том порядке, в котором были расположены в таблице K. Итак, y = 1.4; x = 2.4 (рис.4).

Рисунок 4 – Результат решения системы уравнений

То есть, оптимальный план задачи х1=2,4; x2=1,4. Подставляя найденные значения в линейную функцию,

Page 18: РЕШЕНИЕ ЗАДАЧ ОПТИМИЗАЦИИ СРЕДСТВАМИ SCILAB …asu.ugatu.ac.ru/library/105/metodichkamatekonom.pdfВариант 8. Рацион кормления

получим: F = 3x1 + 4x2 = 12,8.

Полученное решение означает, что объем производства продукции вида П1 должен быть равен 2,4 единицам, а продукции П2 - 1,4 единицам продукции. Доход, получаемый в этом случае, составит 12,8 д. е.

Итак, для практического решения задачи линейного программирования на основе ее геометрической интерпретации необходимо следующее:

1. Построить прямые уравнения, которых получаются в результате замены в ограничениях знаков неравенств на знаки равенств;

2. Найти полуплоскости, определяемые каждым из ограничений задачи;

3. Определить многоугольник решений; 4. Построить направляющий вектор; 5. Найти точку оптимальности. 5.3 Решение задачи линейного программирования с

помощью функции Scilab Для решения задач линейного программирования в Scilab

предназначена функция linpro следующего вида:

[x,lagr,f]=linpro(p,C,b[,ci,cs]),

где p – массив(вектор-столбец) коэффициентов при неизвестных целевой функции, длина вектора n совпадает с количеством неизвестных x.

C – матрица при неизвестных из левой части системы ограничений, количество строк матрицы равно количеству ограничений, а количество столбцов совпадает с количеством неизвестных.

b – массив (вектор-столбец), содержит свободные члены системы ограничений.

ci - массив (вектор-столбец) содержит нижнюю границу переменных (cij ≤ xj); если таковая отсутствует, указывают [ ].

cs - массив (вектор-столбец) содержит верхнюю границу переменных (csj ≥ xj); если таковая отсутствует, указывают [ ].

Функция linpro возвращает массив неизвестных x,

Page 19: РЕШЕНИЕ ЗАДАЧ ОПТИМИЗАЦИИ СРЕДСТВАМИ SCILAB …asu.ugatu.ac.ru/library/105/metodichkamatekonom.pdfВариант 8. Рацион кормления

минимальное значение функции f и массив множителей Лагранжа lagr.

Для корректной работы функции linpro необходимо загрузить Quapro Toolbox. Для этого в Scilab откроем файл: с:\Program Files\quapro-toolbox-1.0\loader.sce (рис.5)

Рисунок 5 – Файл loader.sce

Далее загружаем этот файл в Scilab – Execute / Load all into Scilab (рис.6)

Рисунок 6 – Загрузка файла loader.sce

Page 20: РЕШЕНИЕ ЗАДАЧ ОПТИМИЗАЦИИ СРЕДСТВАМИ SCILAB …asu.ugatu.ac.ru/library/105/metodichkamatekonom.pdfВариант 8. Рацион кормления

Теперь решим задачу определения оптимального ассортимента продукции средствами Scilab. Модель задачи имеет вид:

2x1 + 3x2 ≤ 9; 3x1 + 2x2 ≤ 13; x1 - x2 ≤ 1; x2 ≤ 2; x1 ≥ 0; x2 ≥ 0. Fmax = 3x1 + 4x2.

Матричная форма записи:

퐶 =

2 33 21 − 10 1

, 푏 =

91312

, 푝 = 34 .

Так как по условию задачи нужно найти максимум функции, то параметр p возьмем со знаком «-». Теперь создадим новый sce-файл, где запишем следующую программу:

C=[2,3;3,2;1,-1;0,1]; //зададим матрицу С b=[9;13;1;2]; // зададим вектор b ci=[0;0]; //нижняя граница переменных cs=[]; // верхняя граница переменных p=[3;4] [x,lagr,f]=linpro(-p,C,b,ci,cs) Запустим этот файл на исполнение и получаем следующее

(рис.7). Мы получили то же решение, что и графическим способом –

максимальная прибыль в размере 12,8 д.е. будет получена, если объем производства продукции П1 составит 2,4 ед., а продукции П2 - 1,4 ед.

Page 21: РЕШЕНИЕ ЗАДАЧ ОПТИМИЗАЦИИ СРЕДСТВАМИ SCILAB …asu.ugatu.ac.ru/library/105/metodichkamatekonom.pdfВариант 8. Рацион кормления

Рисунок 7 – Результаты работы sce-файла 6. Контрольные вопросы

1. Какие команды (и их параметры) используются в Scilab для построения графиков? Какие параметры этих команд в работе использовали вы?

2. Какая команда в Scilab служит для нахождения координат точки оптимальности? Как составить матрицы K и k ?

3. Какая команда в Scilab необходима для решения задач линейного программирования?

4. В чем экономический смысл найденных координат точки оптимальности?

Page 22: РЕШЕНИЕ ЗАДАЧ ОПТИМИЗАЦИИ СРЕДСТВАМИ SCILAB …asu.ugatu.ac.ru/library/105/metodichkamatekonom.pdfВариант 8. Рацион кормления

7. Список литературы

1. Бережная Е. В., Бережной В. И. Математические методы моделирования экономических систем: Учеб. пособие. - М:Финансы и статистика, 2006. - 432 с.

2. Орлова И.В. Экономико-математические методы и модели: компьютерное моделирование — Изд. испр., доп. — М. : Вузовский учебник, 2008 .— 365 с.

3. Акулич И.Л. Математическое программирование в примерах и задачах: Учеб. пособие. – М.: Высш. шк., 1986. - 319с.

4. Алексеев Е.Р. Scilab: Решение инженерных и математических задач / Е. Р. Алексеев, О. В. Чеснокова, Е. А. Рудченко. — М. : ALT Linux ; БИНОМ. Лаборатория знаний, 2008. — 260 с.

Page 23: РЕШЕНИЕ ЗАДАЧ ОПТИМИЗАЦИИ СРЕДСТВАМИ SCILAB …asu.ugatu.ac.ru/library/105/metodichkamatekonom.pdfВариант 8. Рацион кормления

ЛАБОРАТОРНАЯ РАБОТА №2

РЕШЕНИЕ ЗАДАЧ ОПТИМИЗАЦИИ В EXCEL

1.Цель работы и задачи

Цель: освоение методики и технологии оптимизации планов в

табличном процессоре Excel с помощью программы «Поиск

решения» (Solver).

Задачи:

составление наилучших (оптимальных) планов выпуска продукции;

определение оптимального количества сотрудников в штате и т.д.

2.Теоретическая часть Многие проблемы прогнозирования, проектирования и

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

3. Описание лабораторного оборудования Надстройка MS Excel «Поиск решений» позволяет решать

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

Page 24: РЕШЕНИЕ ЗАДАЧ ОПТИМИЗАЦИИ СРЕДСТВАМИ SCILAB …asu.ugatu.ac.ru/library/105/metodichkamatekonom.pdfВариант 8. Рацион кормления

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

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

4.Задание 1)Решить задачу оптимального плана выпуска объективов

согласно варианту: Предприятие решило производить два вида объективов А и В.

Объектив вида А состоит из 3-х линзовых компонентов, вид В – из 4-х. За неделю можно изготовить не более определенного количества линз. На сборку объектива каждого вида требуется определенное количество времени. Рабочая неделя для 4 сотрудников составляет 160 часов. Сколько объективов А и В надо изготовить, чтобы получить максимальную прибыль?

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

сотрудников в штате согласно варианту: Штат научно-исследовательской лаборатории (НИЛ) должен

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

Необходимо определить, учитывая общий месячный фонд зарплаты, какими должны быть оклады сотрудников НИЛ при условии, что оклад лаборанта не должен быть меньше

Page 25: РЕШЕНИЕ ЗАДАЧ ОПТИМИЗАЦИИ СРЕДСТВАМИ SCILAB …asu.ugatu.ac.ru/library/105/metodichkamatekonom.pdfВариант 8. Рацион кормления

прожиточного минимума 6 тыс.руб. Инженер получает в 1,8 раза и на 600 руб. больше лаборанта. Младший научный сотрудник получает в 1,5 раза больше лаборанта и на 1100 руб. больше инженера. Старший научный сотрудник получает в 3,5 раза больше лаборанта. Ведущий научный сотрудник получает в 3,2 раза больше лаборанта, на 3200 руб. больше м.н.с.

3)Решить задачу проектирования емкости согласно варианту: Спроектировать емкость - параллепипед с объемом V= a· b· h

= 3000 (длина, ширина, высота). Емкость должна иметь минимальную площадь стенок

S = ab+ab+bh+bh+ah+ah

4)Решить задачу проектирования площади участка минимального периметра согласно варианту:

Участок имеет площадь S = а·b = 800 м2. При какой длине (а) и ширине (b) периметр будет минимальным.

Варианты заданий:

Задание 1. Оптимальный план выпуска продукции

Вариант Время сборки

объектива Стоимость объектива

Количество произведенных

линз А В А В 1 10 40 3400 4700 1750 2 15 40 3500 4700 1850 3 20 30 3400 4500 1700 4 20 25 3500 4500 1600 5 15 35 3300 4700 1650 6 10 30 3400 4600 1850 7 10 35 3500 4600 1800 8 20 35 3300 4500 1700 9 15 25 3200 4500 1600 10 10 25 3400 4800 1750 11 15 30 3500 4900 1650 12 15 45 3300 4600 1850 13 15 20 3400 4400 1900 14 10 45 3500 4400 1800 15 20 30 3300 4400 1750 16 20 40 3200 4600 1850 17 25 30 3200 4700 1650

Page 26: РЕШЕНИЕ ЗАДАЧ ОПТИМИЗАЦИИ СРЕДСТВАМИ SCILAB …asu.ugatu.ac.ru/library/105/metodichkamatekonom.pdfВариант 8. Рацион кормления

Задание 2. Оптимальное количество сотрудников в штате

Вариант Количество сотрудников Фонд зар.платы лаборантов инженеров М.н.с. С.н.с В.н.с Зав.НИЛ

1 4..6 9..11 10 3 2 1 440000 2 7..9 10..12 11 3 1 1 410000 3 8..10 8..10 12 3 1 1 420000 4 7..9 9..11 11 2 2 1 450000 5 4..6 11..13 10 2 2 1 390000 6 4..6 10..12 11 1 2 1 380000 7 5..7 10..12 10 1 1 1 430000 8 6..8 8..10 12 2 2 1 440000 9 7..9 10..12 10 2 1 1 500000 10 5..7 9..11 11 3 1 1 520000 11 4..6 8..10 10 2 2 1 530000 12 4..6 9..11 11 1 1 1 480000 13 4..6 11..13 12 4 2 1 470000 14 8..10 10..12 11 1 1 1 450000 15 7..9 8..10 10 2 1 1 420000 16 8..10 9..11 11 2 2 1 490000 17 6..8 8..10 10 3 1 1 400000

Задание 3 и 4.

Вариант Объем параллепипеда Площадь участка 1 3100 750 2 3200 780 3 2900 760 4 3500 770 5 4100 790 6 3800 810 7 2800 820 8 3300 830 9 3400 840

10 3500 850 11 3600 860 12 3700 870 13 3900 880 14 4000 890 15 4200 900 16 4300 740 17 4400 730

Page 27: РЕШЕНИЕ ЗАДАЧ ОПТИМИЗАЦИИ СРЕДСТВАМИ SCILAB …asu.ugatu.ac.ru/library/105/metodichkamatekonom.pdfВариант 8. Рацион кормления

5. Методика выполнения задания 5.1 Решение задачи оптимального выпуска продукции

Задача. Предприятие решило производить два вида объективов А и В.

Объектив вида А состоит из 3-х линзовых компонентов, вид В – из 4-х. За неделю можно изготовить не более 1800 линз. На сборку объектива вида А требуется – 15 минут, вида В – 30 минут. Рабочая неделя для 4 сотрудников составляет 160 часов. Сколько объективов А и В надо изготовить, чтобы получить максимальную прибыль, если объектив вида А стоит 3500 рублей, вида В – 4800 рублей.

Решение. Пусть надо изготовить x (штук) объективов вида А, и y (штук)

объективов вида В. Тогда целевая функция(P), в этом случае прибыль от продажи продукции, будет рассчитана по формуле:

P = 3500x +4800y Затраты на комплектацию(общее количество произведенных

линз для обоих объективов) соответственно равны: Zk = 3x +4y, Zk ≤1800.

Затраты по времени на сборку объективов даны в минутах – необходимо перевести в часы, т.е. 15 минут – 0,25 часа, 30 минут – 0,5 часа. Таким образом, временные затраты рассчитываются следующим образом:

Zt = 0,25x + 0,5y Zt ≤ 160.

Для решения этой задачи необходимо составить и заполнить таблицу в Excel, как показано на рисунке 1.

Ячейки B2 и В3 переименуем в x и y. В ячейку B5 введем: = 3500*x+4800*y В ячейку B7 введем: =3*x+4*y В ячейку B8 введем: =0,25*x+0,5*y Выделим ячейку В5 и выберем в меню Сервис/Поиск решения

и заполним ячейки этого окна в соответствии с рисунком 2.

Page 28: РЕШЕНИЕ ЗАДАЧ ОПТИМИЗАЦИИ СРЕДСТВАМИ SCILAB …asu.ugatu.ac.ru/library/105/metodichkamatekonom.pdfВариант 8. Рацион кормления

Рисунок 1 - Заполнение таблицы исходными данным

Если в меню Сервис нет кнопки Поиск решения, то необходимо ее активировать - Сервис / Надстройка / Поиск решения (для версии Microsoft Office Excel 2003) или Кнопка «Office» / Параметры Excel / Надстройка / Поиск решения / Перейти / Поставить галочку «Поиск Решения» / ОК (для версии Microsoft Office Excel 2007). Теперь во вкладке «Данные» в разделе «Анализ» появится кнопка «Поиск решений».

Рисунок 2 - Пример заполнения окна Поиск решения

Нажмем кнопку Выполнить. Если все сделано правильно, то

решение будет таким, как указано ниже (рис.3).

Page 29: РЕШЕНИЕ ЗАДАЧ ОПТИМИЗАЦИИ СРЕДСТВАМИ SCILAB …asu.ugatu.ac.ru/library/105/metodichkamatekonom.pdfВариант 8. Рацион кормления

Рисунок 3 - Таблица результатов

Вывод. Из решения видно, что оптимальный план выпуска объективов составляет 520 штук вида А и 60 штук вида В. При этом максимальная прибыль составит 2108000 рублей.

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

Задача Штат научно-исследовательской лаборатории (НИЛ) должен

состоять из: 5…7 лаборантов, 8…10 инженеров, 11 младших научных сотрудников (м.н.с.), 3 старших научных сотрудников (с.н.с.), 2 ведущих научных сотрудников, и заведующего НИЛ.

Общий месячный фонд зарплаты составляет 400 т.руб. Необходимо определить, какими должны быть оклады сотрудников НИЛ при условии, что оклад лаборанта не должен быть меньше прожиточного минимума 6 тыс.руб. Инженер получает в 1,8 раза и на 600 руб. больше лаборанта. Младший научный сотрудник получает в 1,5 раза больше лаборанта и на 1100 руб. больше инженера. Старший научный сотрудник получает в 3,5 раза больше лаборанта. Ведущий научный сотрудник получает в 3,2 раза больше лаборанта, на 3200 руб. больше м.н.с. Решение. В основу для вычисления целевой функции возьмем оклад лаборанта (С), а остальные оклады будем вычислять, исходя из него - во сколько раз или на сколько больше оклада лаборанта.

В качестве математической модели этой задачи возьмем линейное уравнение, которое определяет общий месячный фонд

Page 30: РЕШЕНИЕ ЗАДАЧ ОПТИМИЗАЦИИ СРЕДСТВАМИ SCILAB …asu.ugatu.ac.ru/library/105/metodichkamatekonom.pdfВариант 8. Рацион кормления

зарплаты (Z): Z = Ni·(Ai·C+ Bi),

где i – количество должностей; Ni – число сотрудников в одной должности; С – оклад лаборанта; Ai – коэффициент, обозначающий во сколько раз оклад

сотрудника больше оклада лаборанта; Bi – коэффициент, обозначающий на сколько раз оклад

сотрудника больше оклада лаборанта. По условию задачи в отделе работают сотрудники на 6-ти

должностях, поэтому i = [1..6]. N1 – количество лаборантов; N2 – количество инженеров; N3 –

количество младших научных сотрудников; N4 – количество старших научных сотрудников; N5 – количество ведущих научных сотрудников.

Так как инженер получает в 1,8 раза и на 600 руб. больше лаборанта, то А2= 1,8; В2=600. Так как младший научный сотрудник получает в 1,5 раза больше лаборанта и на 1100 руб. больше инженера, то А3= 1,5; В3= В2+1100 = 1700.

Так как старший научный сотрудник получает в 3,5 раза больше лаборанта, то А4= 3,5; B4= 0. Так как ведущий научный сотрудник получает в 3,2 раза больше лаборанта, на 3200 руб. больше м.н.с., то А5= 3,2; В5= В3+3200 =4900.

Заведующий НИЛ получает в 5 раз больше лаборанта, тогда А6= 5; В6= 0.

Введем исходные данные в рабочий лист электронной таблицы, как показано ниже (рис.4).

Рисунок 4 – Таблица исходных данных

В ячейки столбцов B и C запишем значения коэффициентов А

Page 31: РЕШЕНИЕ ЗАДАЧ ОПТИМИЗАЦИИ СРЕДСТВАМИ SCILAB …asu.ugatu.ac.ru/library/105/metodichkamatekonom.pdfВариант 8. Рацион кормления

и В. В ячейки E3:E4 запишем любые числа из указанного в условии задачи диапазона. В ячейки D3, F3 и F9 запишем расчетные формулы, соответственно:

D3 =$G$3*B3+C3; F3 = D3*E3;

F9=СУММ(F3:F8). Обратите внимание, что в ячейке F9 общая сумма равна

403500 руб., что не соответствует условию, так как общий месячный фонд зарплаты составляет 400000 руб.

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

В поле Установить целевую ячейку: укажем ячейку F9, содержащую целевую функцию. Поскольку общий фонд зарплаты указан точно, то активизируем поле Значению: в котором запишем 40000.

Используя кнопку Добавить, опишем ограничения задачи. Окончательно окно Поиска решения будет выглядеть так:

Рисунок 5 - Вид заполненного окна «Поиск решения»

Щелкнем на кнопке Выполнить. Откроется окно «Результаты

поиска решения» - нажимаем кнопку ОК(рис.6). Окончательные результаты отображены на рисунке 7.

Page 32: РЕШЕНИЕ ЗАДАЧ ОПТИМИЗАЦИИ СРЕДСТВАМИ SCILAB …asu.ugatu.ac.ru/library/105/metodichkamatekonom.pdfВариант 8. Рацион кормления

Рисунок 6 – Окно «Результаты поиска»

Рисунок 7 – Окончательные результаты

6. Контрольные вопросы 1) Что такое математическая модель? 2) В каких задачах требуется максимизировать, а в каких

минимизировать целевую функцию? 3) Какое ограничение накладывается на неизвестные

переменные x во всех представленных в работе задачах? 4) Каким образом определить ограничение «Затраты на

комплектацию»?

7. Список литературы

1. Гобарева Я.Л, Городецкая О.Ю., Золотарюк А.В. Решение финансово-экономических задач средствами Excel. Учебное пособие. – М.: Финансовая академия при Правительстве РФ, 2006. - 248 c.

2. Курицкий Б. Поиск оптимальных решений средствами Exсel - СПб.: BHV - Санкт-Петербург, 2007. - 384 с.

Page 33: РЕШЕНИЕ ЗАДАЧ ОПТИМИЗАЦИИ СРЕДСТВАМИ SCILAB …asu.ugatu.ac.ru/library/105/metodichkamatekonom.pdfВариант 8. Рацион кормления

Составители: Бакусов Леонид Михайлович Кондратьева Ольга Владимировна

РЕШЕНИЕ ЗАДАЧ ОПТИМИЗАЦИИ СРЕДСТВАМИ SCILAB И EXCEL

Лабораторный практикум

по дисциплине «Математическая экономика»

Подписано в печать ЦММЮ. Формат 60x84 1/16. Бумага офсетная. Печать плоская. Гарнитура Times New Roman. Усл. печ. л. 1,4 Уч.-изд. л. 1,3. Тираж

100 экз. Заказ № ФГБОУ ВПО Уфимский государственный авиационный технический университет

Центр оперативной полиграфии УГАТУ 450000, Уфа-центр, ул. К.

Маркса, 12