Компьютерное моделирование в MS Excel
Оценка 4.8

Компьютерное моделирование в MS Excel

Оценка 4.8
Разработки уроков
doc
информатика
Взрослым
23.04.2017
Компьютерное моделирование в MS Excel
Компьютерное моделирование стало одним из основных общенаучных методов исследования, методов познания мира. Без него трудно представить профессиональную деятельность людей многих профессий. Учебно-методическое пособие предназначено для студентов специальности «Автоматизация технологических процессов и производств (по отраслям)», а также может быть использовано и для других специальностей, в управлении образовательным процессом как одно из дидактических средств обучения. Изучение содержания данного учебно-методического пособия обеспечит возможность студенту научиться строить и исследовать модели с помощью ЭВМ, применять электронные таблицы для данной категории задач.
Компьютерное моделирование в MS Excel .doc
Сборник заданий по разделу: K ОМПЬЮТЕРНОЕ МОДЕЛИРОВАНИЕ В MS EXCEL Иванов Иван Для всех специальностей СПО Разработала:  преподаватель   Белева Людмила Федоровна Сыктывкар,2016 год 2 Пояснительная записка: Учебно­методическое   пособие   предназначено   для   студентов     всех специальностей   и может быть использовано, в управлении образовательным процессом как одно из дидактических средств обучения. Изучение   содержания   данного   учебно­методического   пособия   обеспечит возможность   студенту   научиться   строить   и   исследовать   модели   с   помощью ЭВМ, применять и использовать электронные таблицы для решения   данной категории  задач.  3 МАТЕМАТИЧЕСКИЙ  АППАРАТ ИМИТАЦИОННОГО МОДЕЛИРОВАНИЯ ВЕРОЯТНОСТЬ СЛУЧАЙНОГО СОБЫТИЯ Событие,   которое   может   произойти,   а   может   и   не   произойти,   называют  случайным событием. Например, поражение мишени или промах при выстреле – случайные события. Выигрыш команды во встрече с соперником, проигрыш или ничейный результат – это тоже примеры случайных событий. Вообще, пусть определенное испытание проводится многократно в одних и тех же условиях и  при  этом  каждый  раз фиксируется,  произошло  или   нет  интересующее  нас событие  А. Число m называют частотой события А, а отношение m/n – относительной частотой, где n – общее число испытаний. Задача 1. Определить относительную частоту выпадения орла. Для этого: введите формулы в расчетные ячейки. Формула Комментарий Результаты строки =ЦЕЛОЕ (СЛЧИС()+0,5) Выпадение орла или решки 0 или 1 до 500 Копируем формулу А1 A2 А3 A4 A5 A6 …. включительно А500 А501 =СЧЕТЕСЛИ(А1:А500;1) А502 =СЧЕТ(А1:А500) А503 = А501/ А502*100 Вообще, результаты наблюдений и опытов показывают, что при большом числе испытаний, проводимых   в   одних   и   тех   же   условиях,   относительная   частота   принимает   достаточно устойчивое значение.  Такое определение называют статистическим определением вероятности. Задача 2. Бросание кубика Найдите статистическую вероятность  для каждого значения  выпадения 1,2,3,4,5,6. Для этого: введите формулы в расчетные ячейки. Число выпадений орла Число бросков Относительная частота 234 500 0,49 очков A =ЦЕЛОЕ(СЛЧИС()*6+1 Копируем формулу до 500 строки 1 2 3 4 5 B 1 2 3 4 5 C D {=ЧАСТОТА(A1:A500;B1:B6)} =С1/500*100 4 6 включительно 6 …. 500 Дополнение: рассмотрим событие В, которое означает выпадение числа очков, кратного 3. Это событие происходит при двух исходах испытания: когда выпало 3 очка и когда выпало 6 очков.   Эти   исходы   называют   благоприятными   исходами   для   события   В.   При   бросании кубика из 6 равновозможных исходов испытания благоприятными для события В являются лишь два исхода. Отношение числа благоприятных исходов к числу всех равновозможных исходов   равно   2/6.   Это   отношение   называют  вероятностью  события   В   и   пишут Р(В)=2/6=1/3. Вероятностью события называют отношение числа благоприятных для него исходов испытания к числу всех равновозможных исходов. В рассмотренном примере посмотрим назначения ячеек D3 и D6, их сумма 32,6 колеблется около   33%.   Таким   образом,   классическое   и   статистическое   определение   вероятности совпадают с определенной степенью точности. Задача 3. Проверить, что вероятность выпадения оба раза решки равна 0,25. Решение. Для этого: введите формулы в расчетные ячейки. A B C =ЦЕЛОЕ(СЛЧИС()+0,5) =ЦЕЛОЕ(СЛЧИС()+0,5) =A1+B1 Копируем формулу до 50 строки включительно 1 2 3 4 5 6 … E {=ЧАСТОТА (C1:C50;D1:B3)} F =E1/50*100 D 0 1 2 Задача 4. Из   25   экзаменационных   билетов   по   геометрии   ученик   успел   приготовить   11   первых   8 последних   билетов.   Какова   вероятность   того,   что   на   экзамене   ему   достанется   билет, который он не подготовил? Решение. Общее   число   равновозможных   исходов   при   выборе   билетов   на   экзамене   25.   Пусть   М   – событие, заключающееся в том, что ученику достанется на экзамене билет, к которому он не подготовился. Число благоприятных для М исходов (но не для ученика) равно 25­(11+8). Значит Р (М) =6/26=0,24. Проверим это.  Для этого: введите формулы в расчетные ячейки. A до 49 строки =ЦЕЛОЕ (СЛЧИС()*25+1) 1 2 Копируем формулу 3 4 5 … включительно B C =ЕСЛИ(A9>11;1;0) Копируем формулу   Копируем формулу =ЕСЛИ(A1<18;1;0) D =B1+C1  Копируем формулу 5 49 50 Число неудачных билетов  Число всех билетов Относительная =СЧЁТЕСЛИ(D1:D49;2) =СЧЁТ(D1:D49) =D50/D51*100 вероятность в % 52 Задача 5. Антон и Игорь бросают белый и черный игральные кубики и подсчитывают сумму выпавших очков. Они договорились, что если при очередной попытке в сумме выпадает 8 очков, то выигрывает Антон, а если в сумме выпадает 7 оков, то выигрывает Игорь. Является ли такая игра справедливой? Решение. При  бросании  кубиков  на  белом  кубике  может  выпасть  1,2,3,4,5  или  6  очков. Каждому числу очков, выпавших на белом кубике, соответствует шесть вариантов числа очков, выпавших на черном кубике. Все равновозможные исходы этого испытания приведены в таблице: (1,1) (1,2) (1,3) (1,4) (1,5) (1,6) (2,1) (2,2) (2,3) (2,4) (2,5) (2,6) (3,1) (3,2) (3,3) (3,4) (3,5) (3,6) (4,1) (4,2) (4,3) (4,4) (4,5) (4,6) (5,1) (5,2) (5,3) (5,4) (5,5) (5,6) (6,1) (6,2) (6,3) (6,4) (6,5) (6,6) В каждой паре на первом месте записано число очков, выпавших на белом кубике,  на втором – число очков на черном кубике. Общее число равновозможных исходов равно 36. Пусть событие   А   означает,   что   при   бросании   кубиков   в   сумме   выпало   8   очков,   а   событие   В означает, что в сумме выпало 7 очков. Для события А благоприятными являются следующие 5   исходов:(2;6),   (3,5),   (4;4),     (5,3),   (6;2).   Для   события   В   благоприятными   являются следующие   6   исходов:(1;6),     (5,2),   (6;1).   Отсюда:  Р   (А)=5/36 Р(В)=6/36.Поэтому делаем вывод шансов выиграть у Игоря больше, чем у Антона. Значит, такая игра не является справедливой. Проверим это. Для этого: введите формулы в расчетные ячейки.   (2,5),   (3,4),   (4;3),   A B =ЦЕЛОЕ(СЛЧИС()*6+1) Копируем формулу =ЦЕЛОЕ(СЛЧИС()*6+1) Копируем формулу C =A1+B1 до 100 строки до 100 строки F =Е1/100*100 E D 1 {=ЧАСТОТА(C1:C100;D1:D12)} 2 3 4 5 6 … 12 1 2 3 4 5 … 100 Задача 6. На карточках написаны натуральные числа от 1 до 10 включительно, после чего карточки перевернули и перемешали. Затем наугад открыли одну карточку. Какова вероятность того, что на ней будет написано простое число или число, большее 7? 6 Решение. Пусть событие А означает, что на каточке написано простое число, а событие В означает число,   большее   7.   Для   события   А   благоприятными   являются   4   исхода   10 равновозможных(появление одного из чисел 2,3,5,7), то есть вероятность события А равна 0,4.  Для события В благоприятными являются 3 исхода из 10 равновозможных(появление чисел 8,9,10), то есть вероятность события В равна 0,3. Нас интересует событие С, когда на карточке написано простое число или число, большее  7. Событие  С  наступает тогда,  когда  наступает  одно  из  событий  А  или  В. Очевидно, что эти   события   являются   несовместимыми.   Значит,   вероятность   события   С   равна   сумме вероятностей событий А и В, то есть: Р(С)= Р(А) + Р(В)=0,4+0,3=0,7. Проверим это. Для этого: введите формулы в расчетные ячейки. 7 A 1 2 1 2 3 4 5 … 98 99 B C 2 D 3 E 5 F 7 G >7 H =ЦЕЛОЕ(СЛЧИС()* 10+1) =ЕСЛИ(B2 =C$1;1;0) =ЕСЛИ(B2 =D$1;1;0) =ЕСЛИ(B2 =Е$1;1;0 =ЕСЛИ(B2 = F$1;1;0) =ЕСЛИ(B2 >7;1;0) =СУММ(C2:G2) Копируем формулу до 97 =СЧЁТЕСЛИ (H2:H97;">0") =Н98/97 Задача 7. В результате многократных наблюдений установили, что вероятность попадания в мишень одного стрелка равна 0,9, а другого – 0,8. Каждый из стрелков сделал по одному выстрелу по мишени. Какова вероятность того, что мишень будет поражена?  Решение. Рассмотрим такие события: А – первый стрелок попал в мишень; В – второй  стрелок попал в мишень; С – мишень поражена. События А и В независимые. Однако воспользоваться в этом случае умножением вероятностей нельзя, так как событие С наступает не только, тогда, когда оба стрелка попали в мишень, но и тогда, когда в мишень попал хотя бы один из них. Поступим   иначе.   Рассмотрим   события  Ā,   С,   противоположные   соответственно событиям А, В, С. События Ā,  B являются независимыми, так как промах при выстреле по мишени первого стрелка ( событие Ā) не зависит от промаха второго стрелка( событие B). Событие  С означает совместное появление событий Ā, B. Поэтому Р( С)= Р(Ā) • Р( B). Из свойств вероятностей противоположных событий вытекает, что Р(Ā)=1­0,9=0,1;  Р( B)=1­0,8=0,2; Отсюда получаем Р( С)= Р(Ā) •Р( B)=0,1•0,2=0,02. Так как события С и  С противоположные,   то   теперь   несложно   найти   вероятность   события   С:   Р(С)=   1­Р( С)=1­ 0,02=0,98. Значит, вероятность того, что мишень будет поражена, равна 0,98. Проверим это на компьютере. Для этого: введите формулы в расчетные ячейки.   B, A 1 2 3 4 5 6 7 … 97 98 99 1 2 3 4 5 6 7 98 99 B =СЛЧИС() заполнить C =СЛЧИС() заполнить D E =ЕСЛИ(B1>0,1;1;0) =ЕСЛИ(C1>0,2;1;0) заполнить заполнить F =C1+D1 заполнить =СЧЁТЕСЛИ(F1:F97;">0" ) =F98/A97 Задания для самостоятельного выполнения: 1. На карточках написали цифры 1,2,3, после чего карточки перевернули и перемешали.  Затем последовательно открыли карточки и положили в ряд. Какова вероятность того,  что получится трехзначное число, большее 300? 8 2. Для экзамена подготовили билеты с номерами от 1 до 25. Какова вероятность того, что взятый наугад учеником билет имеет: а) однозначный номер; б) двухзначный номер? 3. Многократные испытания показали, что для некоторого стрелка вероятность выбить при  стрельбе 10 очков равна 0,1, а вероятность выбить 9 очков равна 0,3. Чему равна для  этого стрелка вероятность выбить не менее 9 очков?   МОДЕЛИРОВАНИЕ СЛУЧАЙНЫХ ПРОЦЕССОВ Случай является неотъемлемой частью нашей жизни. Если случай помог нам в чем­то, мы говорим — повезло, если оказался не в нашу пользу, мы сокрушаемся — что за судьба! Многие   ученые   посвятили   свой   талант   изучению   закономерностей   случайных   событий. Знание   законов   случайностей   может   быть   полезным   в   разных   сферах:   от   определения вероятности   некоторого   события,   например   выигрыша   в   лотерею,   до   использования статистических закономерностей в научных опытах. Ниже будут смоделированы ситуации, которые в теории вероятности получили название «случайных блужданий». ЗАДАЧА. Бросание монеты I ЭТАП. ПОСТАНОВКА ЗАДАЧИ Описание задачи У вас есть 10 монет. Вы хотите увеличить свой капитал в два раза, испытав заодно и свою судьбу. Суть игры проста. Играя с маклером, вы делаете ставку и бросаете монету. Если выпадет «орел», маклер выдает вам сумму вашей ставки, в противном случае — вы ему отдаете   эту  сумму.  Ставка   может  быть  любой:  от  1  до  10  монет.  Удвоение   начального капитала или банкротство приводит к незамедлительному прекращению этого сеанса игры и расчету. Игра может продолжиться по вашему усмотрению.  Цель моделирования Моделируя   возможные   игровые   ситуации,   в   частности,   варьируя   ставки   в   данной   игре, выяснить,   какая   тактика   чаще   приводит   к   результату   (положительному   или отрицательному). Предупредить потенциальных игроков о степени риска и невозможности обогащения за счет азартных игр.  Формализация задачи Уточняющий вопрос Что моделируется? Каков характер процесса? Чем определяется выигрыш/проигрыш? Какие объекты участвуют? Чем характеризуется игрок? Чем характеризуется монета? Какую роль выполняет маклер? Ответ Процесс игры Случайный  Монетой: орел/решка Игрок, маклер и монета Начальным капиталом Кнач Ставкой СТ Текущей наличностью Ктек 9 II ЭТАП. РАЗРАБОТКА МОДЕЛИ Информационная модель Здесь моделируется игра. Игра — это процесс, в котором участвуют три объекта: игрок, маклер и случай, который в данной игре представлен монетой. Маклер определяет проигрыш или выигрыш игрока, выплачивает выигрыш. Математическая модель процесса складывается из следующих рассуждений. Имитировать результат падения монеты можно с помощью функции СЛЧИС(). Эта функция выдает случайные числа х в диапазоне 0 ≤ х ? 1. Поскольку вероятность выпадения той или иной стороны «половина на половину», то, если СЛЧИС() ? 0,5, то результат «орел» (1), в противном случае — «решка» (0). Формула падения монеты при броске имеет следующий вид: Бросок = ЕСЛИ(СЛЧИС()   0,5; 1; 0) ˂ . Объект Название Игрок Начальным капиталом Кнач Ставкой СТ Текущей наличностью Ктек Маклер Бросок Выигрыш Проигрыш Монета Вероятность угадывания  результата Положение «орел/решка» Параметры Значение Исходные данные Исходные данные Расчетные данные Расчетные данные Расчетные данные Расчетные данные Константа Расчетные данные Действия Выбор ставки Вычисление наличности Продолжение игры Выплата проигранного Прекращение игры по  банкротству Подбрасывание монет Определение результата  падения Формула изменения наличности игрока: Наличность = ЕСЛИ (Бросок=1; Наличность+Ставка; Наличность­Ставка) Формула определения выигрыша: Выигрыш   =   ЕСЛИ(Наличность   ?   2*Нач.Капитал;"­";   "банк")  здесь   выдается   сообщение «банк» при увеличении наличности вдвое или больше, что является условием прекращения игры. Функция определения проигрыша: Проигрыш = ЕСЛИ (Наличность ?  0; "банкрот")  здесь выдается сообщение «банкрот» по окончании наличности, что также является условием прекращения игры.  Компьютерная модель Для моделирования выберем среду электронной таблицы. В этой среде информационная и  математическая модель объединяются в таблицу, которая содержит три области: исходные  данные;  расчетные данные (результаты); статистика по экспериментам. В ячейку А7 вводится формулу:=ЕСЛИ(СЛЧИС()<0,5;1;0) В ячейку В7 вводится формулу:=ЕСЛИ(A7=1;$B$4+$D$4;$B$4­$D$4) В ячейку C7 вводится формулу:=ЕСЛИ(B7<2*$B$4;”­“;”банк”) В ячейку D7 вводится формулу:=ЕСЛИ(B7>0;”­“;”банкрот”) В ячейку B8 вводится формулу:=ЕСЛИ(A8=1;B7+$D$4;B7­$D$4) 10 Ввести в таблицу исходные данные.  A БРОСАНИЕ МОНЕТЫ 1 2 3 Исходные данные 4 Начальный капитал 5 6 7 Формула 1 8 … Статистика по экспериментам … … Результаты Бросок  B C D 10 ставка  Наличнос Выиграш Формула  Формула 3 1 Проигрыш  Формула 4 № сеанса Количество бросков до результата Результат Ставка III ЭТАП. КОМПЬЮТЕРНЫЙ ЭКСПЕРИМЕНТ План эксперимента Тестирование Проверить правильность ввода формул. Эксперимент 1 Исследовать выпадение «орла» и «решки» в течение сеанса игры. Эксперимент 2 Собрать статистические данные о выигрыше и проигрыше в течение нескольких сеансов игры с различными значениями ставок и исследовать их.  Проведение исследования Тестирование Введите в таблицу контрольные исходные данные и расчетные формулы в первую строку.  Результаты сравнить с приведенными в таблице. IV ЭТАП. АНАЛИЗ РЕЗУЛЬТАТОВ МОДЕЛИРОВАНИЯ На основе области «Статистика» сделать выводы по поводу ставки в одну монету; других  ставок. Выбрать и обосновать собственную тактику игры (ставку).  Задания для самостоятельного выполнения: Задача 1. Игра в рулетку Казино процветает из­за того, что  у владельца всегда есть некоторое преимущество перед игроком.   Например,   в   одном   из   вариантов   рулетки   колесо   имеет   38   лунок:   36 пронумерованы и разбиты на черный и красный цвет, а две оставшиеся имеют № 0 и 00 и выкрашены зеленым. Игрок, ставя на красное или черное, имеет на выигрыш 18 шансов из 38, а   на   то,   что   он   проиграет,   ­   20   шансов   из   38.   Пусть   у   вас   имеется   некоторый начальный капитал, который вы хотите удвоить. Постройте компьютерную модель ситуации. Задача 2. Игра в кости Два игрока бросают по две игровые кости. Сумма очков, выпавших на двух игровых костях, накапливается. Игра прекращается, когда один из игроков достигает суммы 101.  11 Игра повторяется до трех побед.  Задача 3. Лотерея «Спортлото» Смоделируйте серию игр в 5 из 36. Изберите следующую тактику игры: ­ ­ зачеркивать в билетах одну и ту же комбинацию из «счастливых билетов»  бросать кубик и из количества точек на верхней грани составлять набор чисел. Задача 4. Очередь За  два  часа  обеденного  перерыва  40  человек  встали в  очередь  за  билетами. Кассирша обслуживает одного клиента в среднем одну минуту. Каждый клиент «мучает»  вопросами кассиршу до пяти минут(случайным образом). Построить модель ситуации и  исследовать ее. Ответьте на вопросы: ­ Хватит ли на обслуживание всех клиентов 2 часов? ­ Если не хватит, то, сколько будет обслужено? ­ Как  влияет время расспросов на время обслуживания очереди?   ИГРАЛЬНАЯ КОСТЬ. ИМИТАЦИЯ БРОСАНИЯ ИГРАЛЬНОЙ КОСТИ (VBA) Microsoft Excel имеет встроенный язык программирования ­  Visual Basic for Аpplications (VBA). Этот язык позволяет создавать приложения, выполняемые в среде Microsoft Office. Редактор Visual Basic for Application  позволяет существенно расширить возможности Excel.  С помощью VBA можно легко и быстро создавать различные приложения, даже не являясь специалистом в области программирования. Редактор  Visual  Basic  for  Application    имеет графическую   инструментальную   среду,   позволяющую   создавать   экранные   формы   и управляющие элементы. С его помощью можно создавать свои собственные функции для Excel, вызываемые мастером функций, разрабатывать макросы, создавать собственные меню и многое другое. ЗАДАЧА. Снова бросаем игральный кубик Разработайте   программу,   которая   будет   имитировать   многократное   бросание   одной игральной кости, а также определять и показывать количество выпадений на кубике того или иного   числа.  Программа   должна   делать   ставки,   позволять   начинать   бросание   кости, останавливать его в любой момент и переустанавливать результаты подсчета. Игральную кость  можно рассматривать  как генератор случайных  чисел  в  целочисленном интервале [1..N] с одинаковой вероятностью выпадения всех чисел интервала. Создание интерфейса Перед началом работы над программой в   VBA, вам нужно воспользоваться графическим редактором Paint или другим, чтобы создать изображения игральной кости. Вам понадобятся шесть отдельных bmp­ файлов, каждый из которых будет картинкой одной из граней кубика (кости).  12 Запустите VBA, начните новый проект и разместите на форме элемент управления Image,   18 надписей и четыре кнопки.  Назначение каждого элемента управления: (см. рисунок 1)  элемент управления Image — для графического представления игральной кости (одной ее Рисунок 1. грани);  надписи — для показа количества выпадений того или иного числа и для подписей к ним;  кнопки: Выход — для завершения программы по щелчку на ней; Начать — чтобы начать бросание по щелчку на кнопке; Остановить — чтобы остановить бросание по щелчку на ней; Сброс — чтобы обнулить счет по щелчку на кнопке. В   этой   программе   присутствует   повторяющийся   процесс   (бросание   кости   и   вывод результата) через регулярные интервалы времени функция  ­ timer. Код: Private Sub atimer() Dim Kost, a, d, stavka As Integer stavka = CDbl(TextBox2.Text) PauseTime = 1 Start = timer Do While timer < Start + PauseTime DoEvents Randomize kost = Int(Rnd * 6) + 1 Select Case kost Case 1 Image1.Picture = LoadPicture("C:\Users\Desktop\kosti\1.bmp") Label1.Caption = Label1.Caption + 1 Case 2 Image1.Picture = LoadPicture("C:\Users\Desktop\kosti\2.bmp") Label2.Caption = Label2.Caption + 1 Case 3 Image1.Picture = LoadPicture("C:\Users\Desktop\kosti\3.bmp") Label3.Caption = Label3.Caption + 1 Label3.Caption = Label3.Caption + 1 Case 4 Image1.Picture = LoadPicture("C:\Users\Desktop\kosti\4.bmp") Label4.Caption = Label4.Caption + 1 Case 5 13 Рисунок 2. Image1.Picture = LoadPicture("C:\Users\Desktop\kosti\5.bmp") Label5.Caption = Label2.Caption + 1 Case 6 Image1.Picture = LoadPicture("C:\Users\Desktop\kosti\6.bmp") Label6.Caption = Label6.Caption + 1 End Select Loop If stavka = kost Then Label15.Caption = Label15.Caption + 3 Else Label15.Caption = Label15.Caption ­ 2 End If End Sub Private Sub CommandButton1_Click() stavka = CDbl(TextBox2.Text) Label18.Visible = False If stavka < 6 And stavka > 0 Then atimer Else Label18.Visible = True Label18.Caption = "Вы не сделали ставку  !!!" End If End Sub Private Sub CommandButton2_Click() PauseTime = 0 End Sub Private Sub CommandButton3_Click() Label1.Caption = "0" Label2.Caption = "0" Label3.Caption = "0" Label4.Caption = "0" Label5.Caption = "0" Label6.Caption = "0" Label15.Caption = "0" TextBox2.Text = " " End Sub Private Sub CommandButton4_Click() UserForm1.Hide End Sub Заключение: 14 Тема   работы   со   случайными   числами   является   очень   актуальной,   так   как   случайные числанаходят   своё   применение   в   приложениях   различных   типов   и   имеет   большое практическое значение. Не одна задача современного программирования (в криптографии) не обходится без решения вопроса генерирования случайных данных. Задания для самостоятельного выполнения: Задача 1. Эксперимент состоит в подсчете числа бросаний двух костей до выпадения двух  шестерок. Требуется найти среднее число бросаний, необходимых для получения двух  шестерок. (Проводится  N экспериментов). КОМПЬЮТЕРНОЕ МОДЕЛИРОВАНИЕ В ЭКОНОМИКЕ  Задача 1.  Пусть  известно,  что  в  штате   больницы  состоит   6  санитарок,  8  медсестер,  10 врачей,   3   заведующих   отделениями,   главный   врач,   заведующий   аптекой,   заведующий хозяйством и заведующий больницей. Общий месячный фонд зарплаты составляет 10 000 у. е. Необходимо определить, какими должны быть оклады сотрудников больницы. Построим модель решения этой задачи. За основу возьмем оклад санитарки, а остальные оклады   будем   вычислять,   исходя   из   него:   во   сколько­то   раз   или   на   сколько­то   больше. Говоря   математическим   языком,   каждый   оклад   является   линейной   функцией   от   оклада санитарки: , где С – оклад санитарки; Аi и Bi – коэффициенты,   которые   для каждой должности определяются следующим образом: BCA  i i 5,1А2  ;  В2  ); 0 0 3А3  ; – медсестра получает в 1,5 раза больше санитарки ( В3  ); – врач – в 3 раза больше санитарки ( 3А4  ;  – заведующий отделением – на 30 у. е. больше, чем врач ( В5  ); 2А5 ;  0 – заведующий аптекой – в 2 раза больше санитарки ( 5,1А6  ;  – заведующий хозяйством – на 40 у.е. больше медсестры ( В7  ); 0 – главный врач – в 4 раза больше санитарки ( – заведующий больницей – на 20 у.е. больше главного врача ( А7  ;  4 В4  ); 30 В6  ); 40 4А8  ;  В8  ). 20 2 2 1 1 8       BCAN... 8 BCANCAN Зная количество человек на каждой должности, нашу модель можно записать как уравнение:  где N1  – число санитарок, N2  –  2 число медсестер и т. д. В этом уравнении нам известны А1…А8, В1…В8 и N1…N8, а С неизвестно. Анализ   уравнения   показывает,   что   задача   составления   расписания   свелась   к   решению линейного уравнения относительно С.  Решим его. – Заполните таблицу в соответствии с образцом:  10000   8 Коэф. Коэф. A Должность 1 2 Санитарка 3 Медсестра  4 Врач  5 Зав.отделением 6 Зав. аптекой B А 1 1,5 3 3 2 C В 0 0 0 30 0 F Суммарная  зарплата =D2*E2 G Зарплата  санитарки 150 D Зарплата  сотрудника =B2*$G$2+C2 15 E Кол­во сотрудников 6 8 10 3 1 7 Завхоз  8 Главврач  9 Зав. больницей 10 Итого  1,5 4 4 40 0 20 1 1 1 =СУММ(F2:F9) В   ячейке   F10   вычислите   суммарный   фонд   заработной   платы   больницы.   Рабочий   лист электронной таблицы будет выглядеть, как показано ниже: B А 1 1,5 3 3 2 1,5 4 4 C В 0 0 0 30 0 40 0 20 A 1 Должность Коэф. Коэф. D Зарплата  сотрудника E Кол­во сотрудников F Суммарная  зарплата G Зарплата санитарки 150 6 8 10 3 1 1 1 1 150 225 450 480 300 265 600 620 900 1800 4500 1440 300 265 600 620 10425 2 Санитарка 3 Медсестра  4 Врач  5 Зав.отделение 6 Зав. аптекой 7 Завхоз  8 Главврач  9 Зав. 10 Как видите, взяв оклад санитарки за 150, мы превысили месячный фонд зарплаты.  Определите оклад санитарки так, чтобы расчетный фонд был равен заданному.  Для этого:  – активизируйте команду Подбор параметра; –   в   поле   «Установить   в   ячейке»   появившегося   окна   введите   ссылку   на   ячейку   F10, содержащую формулу; – в поле «Значение» наберите искомый результат 10000. – В поле «Изменяя значение ячейки» введите ссылку на изменяемую ячейку G2 и щелкните кнопкой ОК. Таблица будет выглядеть следующим образом: Коэф. Коэф. A Должность 1 2 Санитарка 3 Медсестра  4 Врач  5 Зав. 6 Зав. аптекой 7 Завхоз   Главврач   Зав. больницей  Итого  B А 1 1,5 3 3 2 1,5 4 4 C В 0 0 0 30 0 40 0 20 D Зарплата  сотрудника 143,80 215,69 431,39 461,39 287,59 255,69 575,18 595,18 Кол­во сотрудников E 6 8 10 3 1 1 1 1 G Зарплата санитарки 143,79 F Суммарная  зарплата 862,77 1 725,55 4 313,87 1 384,16 287,59 255,69 575,18 595,18 10 000,00 Задача об использовании сырья Что такое линейное программирование Многие   экономические   процессы   описываются   математическими   моделями,   в   которых требуется   найти   такие   значения   переменных   параметров,   при   которых   достигается 16 максимальное   или   минимальное   значение   линейной   функции   от   этих   переменных,   при различных ограничениях, задаваемых линейными управлениями или неравенствами. Искомые переменные, называются  контролируемыми факторами,  функция –  целевой функцией. Задачи такого типа называются задачами линейного программирования. Модели   линейного   программирования   в   экономике   и   управлении   используются   как инструмент оптимизации при планировании производства, составление планов перевозов и т.д. Постановка задачи Предприятие выпускает курс n видов продукции, которые обозначим:  P1, P2,…, Pn. Для этого используется m вида сырья: S1, S2, … , Sm, запасы которого равны соответственно b1, b2, … , bm. Известно, что расход  i­го вида сырья для производства единицы j­го вида продукции Pj равен  aij.  От   реализации   единицы    j­го   вида   продукции  Pj  предприятие   получает   доход, равный  Cj.  Требуется составить такой план производства каждого вида продукции, чтобы при имеющихся запасах сырья обеспечить предприятию максимальный суммарный доход. Математическая модель Построение математической модели осуществляется в три этапа: 1. Определение переменных, для которых будет составляться математическая модель. 2. Формирование целевой функции. 3. Формирование системы ограничений. Составим   план   производства   для   ателье,   занимающегося   пошивом   туристического снаряжения   –   палаток.   Для   пошива   используется   три   вида   материалов   (сырья): водоотталкивающая ткань, утеплитель, москитная сетка. Представим данные с двумя видами продукции (палатки двух моделей) и тремя видами материалов (водоотталкивающая ткань, утеплитель, москитная сетка) в виде таблицы. Материалы(Si) Запасы материалов (bi), м Расход материалов на продукцию Pj, м Палатка (модель 1) Палатка (модель 2) Водооттал. ткань Утеплитель Москитная сетка Удельный доход от реализации (Сj) 105 68 66 7 3 1 5 4 5 6 6 Ячейки, выделенные фоном, содержат значения расхода каждого вида сырья (материалов) на производство единицы каждого вида продукции. Это и есть матрица aij. Такой расход сырья называется  удельным.  Обозначим  план пошива  палаток   модели 1  через  X  (шт.), а  план пошива палат моделей палаток модели 2 через Y (шт.). При таком плане расход материалов, например   водоотталкивающей   ткани,   составит   7    X  +  4    Y  метров.   Поскольку   расход материала   не   может   превышать   имеющиеся   запасы,   получаем   ограничения   по   расходу водоотталкивающей  ткани 7    X  +  4    Y    105. Аналогические  рассуждения  приводят к ограничениям и по другим видам материалов. Кроме того, значения   X  и  Y  не могут быть отрицательными. Сформулированные условия запишем в виде системы неравенств, которым должны удовлетворять неизвестные  X и Y: 17 Доход от реализации одной палатки модели 1 равен 5 единицам стоимости (например, 5 тыс. руб.), а доход от реализации палатки модели 2 ­ 6 единицам стоимости тогда суммарный доход предприятия от реализации всей произведенной продукции определится формулой:  Z =5 X + 6  Y. Следовательно, Z есть функция от X и Y. Z(X, Y) является целевой функцией, поскольку целью производства является получение максимального дохода. Таким образом, математическая формулировка задачи звучит так: требуется найти такое решение системы линейных неравенств (1)­(5),при котором целевая функция Z(X, Y) принимает максимальное значение. Решение с помощью электронных таблиц Подготовим данные, как это показано в таб.1. В ячейках В2 и В3 будет получено решение, т.е. найдены объемы производства каждого вида продукции, при которых суммарных доход, вычисляемый в ячейках В17, принимает максимальное значение. Диапазон ячеек В13:В15 содержит   формулы,   с   помощью   которых   задаются   левые   части   неравенств   (1)­(2), ограничивающих расход сырья. Диапазон ячеек D13:D15 содержит запасы материалов.  A B C Таблица 1. D Запасы материалов Палатки (модель 1) Палатки (модель 2) Удельный доход от реализации Объем производства Палатки (модель 1) Палатки (модель 2) Материалы Водооттал. ткань Утеплитель Москитная сетка 1 2 3 4 5 6 7 8 9 10 11 12 Ограничения 13 14 15 16 17 Суммарный доход Установим   курсор   в   ячейку   В17,   в   которой   должно   быть   вычислено   значение   целевой функции,   и   выполним   команду  Поиск   решения.  В   открывшемся   окне   необходимо произвести установки, показанные на рис. 1. Для этого выполняются следующие действия: В поле  Установить целевую ячейку  вводится адрес ячейки В17.  Для   поля  Равной  выбирается   параметр =C7*$B$2+D7*$B$3 =C8*$B$2+D8*$B$3 =C9*$B$2+D9*$B$3 =C10*B2+D10*B3 4 5 6 6 105 68 66 Рисунок 1. 105 68 66 7 3 1 5    максимальному значению. 18  В поле Изменяя ячейки вводится диапазон ячеек с неизвестными В2:В3.  Щелчком на кнопке Добавить вызывается окно Добавить ограничение.  Для ввода первого ограничения в поле Ссылка на ячейку указывается адрес ячейки В13, а в поле Ограничение – адрес ячейки D13. Между ними выбирается знак отношения  и нажимается кнопка  Добавить. Аналогично добавляются два оставшихся ограничения.  Щелчком на кнопке параметры вызывается окно Параметры поиска решения (рис. 2), в котором   необходимо   отметить,   что   ищутся  неотрицательные   значения  X  и  Y  и используется линейная модель. Это означает то, что целевая функция линейно зависит от переменных  X и Y. Неотрицательные   решения   системы   линейных   неравенств,   при   которых   целевая   функция (суммарный доход) принимает максимальное значение, табличный процессор Microsoft Excel находит   приближенно,   используя   итерационный   метод   поиска,   который   называется методом   Ньютона.  Поэтому   в   качестве   параметров   указывается   предельное   число итераций и относительная погрешность. С такого рода параметрами  мы встречались  при решении задачи теплопроводности методов итераций.                                        После того как все установки сделаны, следует нажать кнопку Выполнить. В результате в ячейках В2 и В3 будет получено решение – объем производства палаток первой второй   моделей   (таб.2),   а   в   ячейке     В17   – максимальный   доход,   полученный   от реализации   такого   объема   продукции.   Как исследовало   ожидать,   полученные   значения совпадают   с   результатами   графического метода решения задачи: X = 11, Y = 7, Z = 97. Рисунок 2. и Таблица  2. Результаты  решение задачи C D B 11 7 Запасы материалов Палатки (модель 1) Палатки (модель 2) 7 3 1 5    4 5 6 6 105 68 66 A Объем производства Палатки (модель 1) Палатки (модель 2) Материалы Водооттал. ткань Утеплитель Москитная сетка 1 2 3 4 5 6 7 8 9 10 11 12 Ограничения 13 14 15 16 17 105 68 66 Удельный доход от реализации 105 68 53 97 Суммарный доход Задания для самостоятельного выполнения: Задача 1.  19 Предположим, что мы решили производить несколько видов конфет. Назовем их условно «А», «В», «С». Известно, что реализация 10 килограммов конфет «А» дает прибыль 9 у. е., «В» – 10 у. е., «С» – 16 у. е. Конфеты   можно   производить   в   любых   количествах,   но   запасы   сырья   ограничены. Необходимо   определить,   каких   конфет   и   сколько   десятков   килограммов   необходимо произвести, чтобы общая прибыль от реализации была максимальной. Нормы расхода сырья на производство 10 кг конфет каждого вида приведены ниже. Нормы расхода сырья А 18 6 5 9 В 15 4 3 10 С 12 8 3 16 Запас сырья 360 192 180 Сырье  Какао   Сахар   Наполнитель   Прибыль  Задача 2.  Ваше   предприятие   выпускает   изделия   1,   изделия   2,   изделия   3,   используя   общий   склад комплектующих.   Каждое   изделие   состоит   из   деталей,   имеющихся   на   складе.   В   связи   с ограниченностью   запаса   необходимо   найти   оптимальное   соотношение   объемов   выпуска изделий. Прибыль, получаемая от каждого изделия, равна соответственно 47,32; 31,55; 22,08. Число деталей, идущих на каждое изделие, указано в таблице. Наличие  на складе Изделие 1 Изделие 2 Изделие 3 Деталь 1 Деталь 2 Деталь 3 Деталь 4 Деталь 5 450 250 800 450 600 1 1 2 1 2 1 0 2 1 1 0 0 1 0 1 Задача 3. В  ресторане   готовятся  фирменные  блюда  трех  видов   (блюдо  А,  блюдо   В  и  блюдо   С)  с использованием при приготовлении ингредиентов трех видов (ингредиент 1, ингредиент 2 и ингредиент 3). Расход ингредиентов в граммах на блюдо задается следующей таблицей: Вид  ингредиента Ингредиент 1 Ингредиент 2 Ингредиент 3 Блюдо А 20 20 20 Блюдо В 50 0 10 Блюдо C 10 40 10 Стоимость приготовления блюд одинакова (100 руб.). Ежедневно в ресторан поступает 5 кг ингредиента 1 и по 4 кг ингредиентов видов 2 и 3. Каково   оптимальное   соотношение   дневного   производства   блюд   различного   вида,   если производственные   мощности   ресторана   позволяют   использовать   весь   запас   поступивших продуктов? Задача 4. Пошивочная мастерская планирует выпуск двух видов костюмов: мужских и женских. На женский  костюм требуется 1 м шерсти, 2 м лавсана  и 1 человеко­день трудозатрат. На мужской   костюм   —   3,5   м   шерсти,   0,5   м   лавсана   и   1   человеко­день   трудозатрат.   Всего имеется 350 м шерсти и 240 м лавсана, 150 человеко­дней трудозатрат. Предусматривается 20 выпуск не менее 110 костюмов, причем, необходимо обеспечить прибыль не менее 1400 руб. Определите оптимальное количество костюмов каждого вида, если прибыль от реализации женского костюма составляет 10 руб., а мужского — 20 руб. ПОСТРОЕНИЕ И ИССЛЕДОВАНИЕ ОПТИМИЗАЦИОННОЙ МОДЕЛИ НА VBA Задача 1.  В ходе производственного процесса из листов материала получают заготовки деталей двух типов А и В тремя различными способами, при этом количество получаемых заготовок при каждом методе различается.  Тип заготовки А В 1­й 10 3 Способы раскроя 2­й 3 6 3­й 8 4 Необходимо выбрать оптимальное сочетание способов раскроя, для того чтобы получить 500 заготовок типа А и 300 заготовок типа В. Формальная модель: Параметрами,   значения   которых   требуется   определить,   являются   количества   листов материала, которые будут раскроены различными способами: X1­ количество листов, раскроенное способом 1; X2­ количество листов, раскроенное способом 2; X3­ количество листов, раскроенное способом 3. Определяются значениями требуемых количеств заготовок типа А и В:                     10X1+3X2+8X3=500 Кроме   того,   количества   листов   не   могут   быть   отрицательными:  X10,  X20,  X30     и дробными X1, X2, X3 – целые.   3X1+6X2+4X3=300 Ограничения: и Создание интерфейса: Запустите V BA, начните новый проект и разместите на форме 8 надписей; одну кнопку.  Private Sub CommandButton1_Click() Dim x1, x2, x3, F As Integer F = 300 For  x1 = 0 To 100 For  x2 = 0 To 100 21 Рисунок 1. For  x3 = 0 To 100 If  (10 * x1 + 3 * x2 + 8 * x3 = 500)  And  (3 * x1 + 6 * x2 + 4 * x3 = 300)  Then If  x1 + x2 + x3 < F  Then F = x1 + x2 + x3 Label1.Caption = x1 Label2.Caption = x2 Label3.Caption = x3 Label4.Caption = F End If End If Next x3 Next x2 Next x1 End Sub Задания для самостоятельного выполнения: Задача 1.  Фабрика производит два вида красок: первый – для наружных, а второй – для внутренних работ.   Для   производства   красок   используется   два   ингредиента:   А   и   В.   Максимально возможные   суточные   запасы   этих   ингредиентов   составляют   6   и   8   т   соответственно. Известные расходы А и В на 1 т красок: Ингредиенты А В Расход ингредиентов, т.ингр./т.краски Краска 1­го вида Краска 2­го вида Запас, т.ингр./сут 6 8 Изучение   рынка   сбыта   показало,   что   суточный   спрос   на   краску   2­го   вида   никогда   не превышает спроса на краску 1­го вида более, чем на 1 т. Кроме того, спрос на краску 2­го вида не превышает 2 т /сут. Оптовые цены 1 т красок равны: 3 т. руб. для краски 1­го вида и 2 т. руб. для краски 2­го вида. Найти какое количество краски каждого вида необходимо производить, чтобы доход от реализации продукции был максимальным. Задача 2.  Фабрика производит два вида красок: первый – для наружных, а второй – для внутренних работ.   Для   производства   красок   используется   два   ингредиента:   А   и   В.   Максимально возможные   суточные   запасы   этих   ингредиентов   составляют   6   и   8   т   соответственно. Известные расходы А и В на 1 т красок: Ингредиенты А В Расход ингредиентов, т.ингр./т.краски Краска 1­го вида Краска 2­го вида Запас, т.ингр./сут 6 8 Изучение   рынка   сбыта   показало,   что   суточный   спрос   на   краску   2­го   вида   никогда   не превышает спроса на краску 1­го вида более  чем на 1 т. Кроме того, спрос на краску 2­го вида не превышает 2 т /сут. Оптовые цены 1 т красок равны: 3 т. руб. для краски 1­го вида и 22 1 2 1 2 2 1 2 1 2 т. руб. для краски 2­го вида. Найти какое количество краски каждого вида необходимо производить, чтобы доход от реализации продукции был максимальным. Рассмотрим еще одну типовую задачу линейного программирования. ТРАНСПОРТНАЯ ЗАДАЧА Постановка задачи Транспортной   задачей  называют   составления   плана   перевозок   от   поставщиков   к потребителям   с   помощью   некоторых   транспортных   средств.   Составленный   план   должен обеспечивать выполнение таких условий, как: ­ Полное удовлетворение спроса потребителей; ­ Вывоз всей продукции от поставщика; ­ Минимизация транспортных затрат. Математическая модель Рассмотрим простейший вариант транспортной задачи. В т пунктах отправления (складах) А1,  А2, …, Ат  находится однородный груз в количестве  а1,  а2, …,  ат  единиц соответственно. Потребность в этом грузе в п пунктах назначения (магазинах) В1, В2, …, Вп составляет b1, b2, …,  bn    соответственно.   Будем   считать,  что  сумма   запасов   на   складах   равна  суммарным потребностям в магазинах, т.е.  =  . Такая модель называется замкнутой. Обозначим через Сij  удельные затраты,  т.е. затраты на перевозку единицы груза из  i­го пункта   в  j­й   пункт   назначения,   а   через  Xij  –   неизвестный   объем   груза,   который   надор перевезти из  j­ го пункта отправления в j­й пункт назначения. Перевозку груза надо организовать таким образом, чтобы суммарные затраты на перевозки были   минимальными.   Суммарные   затраты   на   перевозки  Z    определяются   следующим образом:   необходимо   просуммировать   все   объемы   перевозок   груза,   умноженные   на 23 соответствующие удельные затраты, т.е. Z= .  Суммарные затраты являются целевой функцией. Искомыми   величинами   являются   объемы  Xij  перевозок   груза,   отправляемые   каждым поставщиком каждому потребителю при выполнении указанных условий. Рассмотрим транспортную задачу на примере четырех складов и четырех магазинов.  Задача. Известно, что на складах имеется запас муки в количестве 45, 100, 20, 75 мешков. А магазины имеют потребность в этом товаре в количестве 30, 80, 95, 35 мешков. Склад № 1 Склад № 2 Склад № 3 Склад № 4 a1 = 45 a2 = 100 a3 = 20 a4 = 75 Магазин № 1 Магазин №2 Магазин №3 Магазин №4 b1 = 30 6 10 5 4 b2 = 80 3 4 9 2 b3 = 95 7 12 8 4 b4 = 35 10 10 11 8 Ячейки,   выделенные   фоном,   содержат   удельные   стоимости   перевозок  Cij.   Например, стоимость перевозки единицы груза (мешка) со склада № 3 в магазин № 4 составляет 11 денежных единиц. Проверим замкнутость модели. Для этого просуммируем все запасы муки на складах: 45 + 100 + 20 + 75 = 240. Найдем суммарные потребности магазинов в муке: 30 + 80 + 95 + 35 = 240. Таким образом, модель является замкнутой, т. е. потребность  магазинов в муке равна запасу на складах. Весь   груз   со   складов   должен   быть   вывезен.   Этот   факт   для  i­го   склада   можно   отразить следующим образом: Xi1 + Xi2 + Xi3 + Xi4 = ai. Весь груз в магазины должен быть ввезен. Для j­го магазина будет справедливо следующее: X1j + X2j + X3j + X4j = bj. Таким образом, удовлетворению спроса магазинов отвечает выполнение системы уравнений: Вывоз всего груза со складов достигается при выполнении системы уравнений: Получается общая система из 8 уравнений с 16 неизвестными, которая имеет, вообще говоря, бесконечное множество решений. Среди этих решений интерес представляют  неотрицательные решения, при которых суммарные затраты по всем маршрутам будут  минимальны, т. е. целевая функция может быть представлена следующим образом: Z = C11 X11 + … + C14X14 + C21 ∙ X 21 + … + С24  ∙  X24 + C31 · X31 +…+ C34 ·  X34 +C41 ·  X41 +…+ C44 · X44. Рассмотрим решение задачи на примере табличного процессора Microsoft Excel. Решение с помощью электронных таблиц 24 Таблица 1. Представим данные в виде, показанном в таблице 1. A B C D E F G bj Сумм. затраты: 10 10 11 8 6 1 10 5 4 3 4 9 2 =сумм =сумм =сумм =сумм ai 45 100 20 75 Матрица перевозок 30 Магазин 80 Магазин  2 95 Магазин  3 35 Магазин 4 Магазин  1 =сумм =сумм =сумм =сумм Магазин  2 Магазин  3 Магазин 4 Склад № 1 Склад № 2 Склад № 3 Склад № 4 Склад № 1 Склад № 2 Склад № 3 Склад № 4 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Исходными данными являются  удельные затраты на перевозки (диапазон ячеек C13:F16),  запасы муки на складах (диапазон ячеек A13:A16), потребности магазинов в муке ( диапазон  ячеек С11:F11). Диапазон ячеек  C3:F6   предназначен для получения искомого решения­объемов перевозок груза.   Суммируя   объемы   перевозок   в   каждой   строке,   задаем   левые   части   уравнений­ ограничений, обеспечивающий вывоз всего груза с каждого склада. Суммированием  объемов перевозок   по   столбцам   задаются   левые   части   уравнений­огранечений,   удовлетворяющих спрос каждого магазина в муке. Формула =СУММПРОИЗВ (С3:F6; C13:F16), вычисляющая целевую   функцию(суммарные   затраты)  Z,  размещена  в  ячейке   С19.  Встроенная   функция СУММПРОИЗВ   суммирует     произведения,   полученные   построчным     перемножением содерживого ячеек из диапозонов С3:F6; C13:F16.  Например, СУММПРОИЗВ (А1:В2;А3:B4) =A1*A3+B1*B3+A2*A4+B2*B4. =СУММПРОИЗВЕД(С3:F16;C13:F16) 7 12 8 4 Установите курсор в ячейку С19, в которой должно быть выполнено значение целевой функции. Выполним команду Поиск решения.  В открышевшемся окне необходимо провести установки, показанные на рис.1. В результате будет найдено решение, представленное в таблице 2.  A B C 1 Матрица перевозок D 25 Рисунок 1. Таблица 2. E F G Магазин  Магазин  2 Магазин  3 Магазин 4 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Склад № 1 Склад № 2 Склад № 3 Склад № 4 bj Склад № 1 Склад № 2 Склад № 3 Склад № 4 ai 45 100 20 75 0 30 0 0 30 30 6 10 5 4 Сумм.затраты: 1455 10 70 0 0 80 80 3 4 9 2 45 100 20 75 35 0 20 40 95 95 7 12 8 4 0 0 0 35 35 35 10 10 11 8 Магазин Магазин  2 Магазин  3 Магазин 4 Искомые     объемы   перевозок   представлены   в   ячейках  C3:F6.   Со   склада   №1   мука   будет отправлена в магазины №2 и 3 в объемах 10 и 35 мешков соответсвенно, со склада №2 – в магазины №1 и 2 в объемах 30 и 70 мешков, со склада №3 ­ в магазин №3 в объеме 20 мешков, со склада №4 в магазины №3 и 4 в объемах 40 и 35 мешков. Минимальные затраты на перевозки составляют 1455 денежных единиц. Задания для самостоятельного выполнения: Задача 1.  Найти   оптимальный  объем  перевозок  товаров   с  3  заводов  на  5  региональных складов. То есть минимизировать затраты на перевозку грузов от заводов­производителей на торговые склады. Производительность  каждого   завода  и   затраты   на  перевозку  от  завода   на  каждый  склад приведены в таблице: Заводы Поставки  склад 1 склад 2 склад 3 Затраты   Завод 1  Завод 2  Завод 3 Технология работы: – Заполните таблицу в соответствии с образцом: 310 260 280 10 6 3 8 5 4 6 4 5 склад 4 5 3 5 склад 5 4 6 9 A 1 Заводы 2 Завод 1 3 Завод 2 4 Завод 3 5 6 Итого  7 8 Потреб. складов B Всего  C склад 1 D E F склад 2 склад 3 склад 4  склад 5 Заполнить вниз =СУММ (С2:G2) 1 1 1 Допустим, что от каждого завода на каждый склад перевозится ед.продукции 1 1 1 1 1 1 1 1 1 G 1 1 1 =СУММ (С2;С4) 180 26 80 200 160 220 8 5 4 6 4 5 5 3 5 4 6 9 10 6 3 310 260 280 Поставки  Затраты  =С2*С10+С3*С11+С4*С12 =СУММ (С14:G14) 9 Заводы  10 Завод 1 11 Завод 2 12 Завод 3 13 14 Перевозка  Количество   перевезенных   грузов   не   может   превышать   производственных   возможностей заводов. Количество доставляемых грузов не должно быть меньше потребностей складов. То есть производство должно быть не меньше потребностей. Число перевозок не может быть отрицательным. Задача 2. Авиакомпания по заказу армии должна перевезти на некотором участке 700 человек. В  распоряжении компании имеется два типа самолетов, которые можно использовать для  перевозки. Самолет первого типа перевозит 30 пассажиров и имеет экипаж 3 человека,  второго типа – 65 и 5 соответственно. Эксплуатация 1 самолета первого типа обойдется 5000$, а второго 9000$. Сколько надо использовать самолетов каждого типа, если для формирования экипажей имеется не более 60 человек. МОДЕЛИРОВАНИЕ ЗАДАЧИ ОПТИМАЛЬНОГО УПРАВЛЕНИЯ Задача. Для снабжения населенных пунктов, расположенных в труднодоступной местности, требуется   разместить   железнодорожную   станцию   и   аэродром   таким   образом,   чтобы суммарное расстояние (и, соответственно, стоимость) воздушных перевозок от станции и от аэродрома к населенным пунктам было оптимальным. Координаты населенных пунктов приведены в табл. 1. Номера населенных пунктов Координаты населенных пунктов Таблица 1 Х 2,0 10,0 1,0 4,0 9,0 У 8,0 9,0 2,0 9,0 5,0 1 2 3 4 5 Решение. Из условия задачи следует, что надо найти оптимальное, с точки зрения экономии затрат на  воздушные перевозки, местоположение двух объектов: аэродрома и железнодорожной  станции. Такое возможно, если суммарная протяженность воздушных трасс между всеми  объектами будет минимальной. Как известно, кратчайшее расстояние между двумя точками  определяется отрезком, соединяющим эти точки. Для решения задачи введем обозначения (табл. 2). Объект Координата Х Координата У Таблица 2 27 Населенный пункт №1 Населенный пункт №2 Населенный пункт №3 Населенный пункт №4 Населенный пункт №5 Аэродром Железнодорожная станция Х1 Х2 Х3 Х4 Х5 ХА ХС У1 У2 У3 У4 У5 УА УС Минимальное расстояние от железнодорожной станции до i­го населенного пункта (i = 1, …,  5) через аэропорт можно определить следующим образом:  YXYXYXF i Y A Y C Y C      Y i X i     , A , A 2  2  2  , C , C X C X A   X A  , i  i   . 2   Решение с помощью электронных таблиц В соответствующие ячейки Табл. 3 введите расчетные формулы. № Адрес ячейки 1 2 3 Е5 E6—E9 В16 Содержимое ячейки (формула) =КОРЕНЬ(($B$12­B5)^2+($C$12­C5)^2) Скопировать формулу из Е5 в E6—E9 =КОРЕНЬ((B14­B12)^2+(C14­C12)^2)+СУММ(Е5:Е9) Таблица 3 Объект, населенный пункт A 1 2 3 4 5 Населенный пункт №1 6 Населенный пункт №2 7 Населенный пункт №3 8 Населенный пункт №4 9 Населенный пункт №5 10 11 Оптимальные   Координата y x 8,0 2,0 10,0 9,0 2,0 1,0 9,0 4,0 9,0 5,0 Компьютерная модель C B D  E Моделирование расположения аэродрома и железнодорожной станции Расположение населенных пунктов Расстояние между  Аэродромом и населенными пунктами (аэродрома и железнодорожных станций) координаты   объектов 12 Аэродром 13 Железнодорожная станция 14 15 16 Оптимальное   суммарное     расстояние   от аэродрома     до   станции   и   всех   населенных Эксперимент № 1 28  Применяя надстройку  Excel  «Поиск решения» (  Поиск решения), назначьте в качестве целевой   ячейки   В16   и   установите   переключатель   Равной:   равным  минимальному значению.  Укажите в качестве изменяемых ячеек ячейки $B$12:$C$12; $B$14:$C$14 (координаты аэродрома и станции). Ограничения не вводите. Щелкните по кнопке Выполнить.                                                  Фрагмент рабочего листа  A E Моделирование расположения аэродрома и железнодорожной станции Расположение населенных пунктов D  C B Расстояние между  Аэродромом и населенными пунктами 2,5 5,7 6,6 1,5 5,2 Координата y x 2,0 8,0 9,0 10,0 2,0 1,0 4,0 9,0 5,0 9,0 7,6 7,6 4,5 4,5 21,5 Объект, населенный пункт 1 2 3 4 5 Населенный пункт №1 6 Населенный пункт №2 7 Населенный пункт №3 8 Населенный пункт №4 9 Населенный пункт №5 10 11 Оптимальные   (аэродрома и железнодорожных станций) координаты   объектов 12 Аэродром 13 14 Железнодорожная станция 15 16 Оптимальное   суммарное     расстояние   от аэродрома     до   станции   и   всех   населенных пунктов  Постройте диаграмму, выберите тип Точечная.  Проанализируйте результат. На   основе   полученных   данных   моделирования   можно   сделать   следующий   вывод: моделирование,   проводимое   в   условиях,   когда   ограничения   не   заданы,   приводит   к совпадению координат расположения железнодорожной станции и аэродрома. Это вытекает и   из   простого   анализа   расчетной   формулы.   Минимальное   расстояние   будет,   когда координаты   объектов   совпадут.   В   реальных   условиях   такие   объекты   располагаются   на безопасном расстоянии друг от друга, кроме того, есть и некоторые технические критерии обеспечения нормальных условий функционирования объектов. Эксперимент № 2 Усложним задачу. Введем ограничения. Предположим, что в указанном районе есть озеро и проходит   железная   дорога.   Координаты   ограничивающие   местоположение   аэродрома   и станции, приведены в табл. 4 Таблица 4 Объект Озеро Железная дорога Координата Х ≥ 0  и  ≤4 ≥ 6 Координата У ≥ 3 и  ≤ 6 =1  Установите   курсор   в   ячейку В16. 29 Рисунок 1.  Введите   условия   ограничения   на   расположение   аэродрома   и   станции.   В   частности, примите   во   внимание,   что   аэродром   не   должен   находиться   внутри   области,   чьи координаты указаны в табл. 4, а железнодорожная станция, наоборот, должна находиться на железной дороге.  Произведите  поиск решения. Фрагмент рабочего листа (после ввода ограничений) Моделирование расположения аэродрома и железнодорожной станции B C D  E Расположение населенных пунктов Объект, населенный пункт Расстояние между  Аэродромом и населенными пунктами 3,8 5,8 5,9 3,2 3,9 A 1 2 3 4 5 Населенный пункт №1 6 Населенный пункт №2 7 Населенный пункт №3 8 Населенный пункт №4 9 Населенный пункт №5 10 11 Оптимальные   (аэродрома и железнодорожных станций) координаты   объектов 12 Аэродром 13 14 Железнодорожная станция 15 16 Оптимальное   суммарное     расстояние   от аэродрома     до   станции   и   всех   населенных пунктов Координата x y 8,0 2,0 9,0 10,0 2,0 1,0 4,0 9,0 5,0 9,0 6,1 1,0 5,2 6,0 27,5 ЗАДАЧИ ТЕОРИИ РАСПИСАНИЙ Постановка задач теории расписаний В задачах теории расписаний рассматриваются комплексы работ, связанных общим объектом или общим исполнителем, направленные на достижение определенной цели. Модели теории расписаний позволяют найти наиболее дешевый или наиболее быстрый порядок выполнения работ. К задачам выбора самого дешевого порядка выполнения работ относится известная задача о шлюзе. Шлюз может пропускать в порядке очереди только по одному судну. Если создается очередь,   то  необходимо   определить   такой   порядок   прохождения   судов   через   шлюз,  при котором будет минимален ущерб от простоя. В такой формулировке задача появилась еще в XIX веке. При выборе наиболее быстрого по времени варианта работ минимизируется отрезок времени от   начала   работ   до   их   окончания   (достижения   цели).   Простейшей   задачей   такого   типа является  задача и двух станках.  На двух станках надо обработать  N  деталей. Каждая из деталей обрабатывается сначала на одном станке, а затем – на втором. Время обработки каждой   детали   на   каждом   станке   известно.   Задача   состоит   в   том,   что   необходимо определить такой порядок обработки деталей, при котором время выполнения всей работы будет   минимальным.   Порядок   обработки,   минимизируется   время  T,  называется оптимальным. 30 Задача о шлюзе Математическая модель Через шлюз последовательно должны пройти N судов. Известно время (в часах) шлюзования каждого судна –  ti  и ущерб от 1 часа простоя судна ­  Ui   денежных единиц. Здесь индекс обозначает порядковый номер судна в очереди. Например,  t1  –  это время шлюзования 1­го судна,  t2 – время шлюзования 2­го судна, u2 – стоимость 1 часа простоя в ожидании своей очереди 2­го судна и т.д. Время простоя в очереди, например, 4­го судна, если оно ждет, пока через шлюз пройдут первые три, равно: t1 + t2 + t3 , а материальный ущерб от простоя 4­ го судна равен: u4(t1 + t2 + t3). Показатель экономической эффективности работы шлюза связан с суммарным ущербом от простоя судов в ожидании своей очереди на шлюзовании. Например, если к шлюзу подошли одновременно 4 судна и они пропускаются через шлюз в порядке их номеров, то суммарный ущерб от простоя (S) вычисляется так: S = u2 • t1 + u3(t1 + t2) + u4(t1 + t2 + t3). В   общем   случае,   если   в   очереди   находятся    N  судов,   то   суммарный   ущерб   от   простоя выражается формулой: S =  .             Задача состоит в том, чтобы определить такой порядок пропускания судов через шлюз, при котором величина S будет минимальна. Математический анализ этой задачи приводит к следующему ответу: минимум величины S достигается в том случае, если суда пропускаются в порядке убывания величины   . Этот   принцип   можно   пояснить   на   следующем   примере.   Пусть   к   шлюзу   подошли одновременно два судна, время шлюзования которых одинаково (t1  = t2 ), но стоимость простоя разная. Тогда в первую очередь надо пропустить то судно, у которого простой стоит дороже. Если же у двух судов в очереди одинаковая стоимость простоя ( u1 = u2 ), то вперед надо пропустить то судно, у которого меньше время шлюзования. Критерию   убывания   величины     равносилен   критерий   возрастания   величины   .   При вычислениях можно использовать как тот, так и другой критерий. Решение в электронных таблицах Рассмотрим   пример   для   пяти   судов,   выстроившихся   в   очередь   к   шлюзу   в   порядке   из прибытия. Данные приведены в таблице 1.  1 45 5 № судна Время шлюзования Ущерб от простоя 4 24 4 2 36 12 3 28 7 5 72 3 Вычислим общий ущерб от простоя по формуле: S = u2 • t1 + u3 •(t1 + t2) + u4 •(t1 + t2 + t3) + u5 •(t1 + t2 + t3 + t4). Если   шлюзование   судов   проводить   в   таком   порядке,   то   ущерб   от   простоя   не   будет минимальным. В нашем случае сумма ущерба составляет 1942 денежные единицы: S=12•45+7•(45+36)+4•(45+36+28)+3•(45+36+28+24) =1942. Найдем   оптимальный   порядок   (расписание)   шлюзования   судов,   обеспечивающий минимальный ущерб от простоя. 31 Чтобы найти ущерб от простоя, в ячейках С6:F6 вычислим суммы вида :  , а в ячейку  B7 поместим формулу = СУММПРОИЗВ(C3:F3;C6:F6).  В соответствии с этой формулой вычисляется сумма произведений:   C3*C6+D3*D6+E3*E6+F3*F6                                                                                      Таблица 2. A B 1 45 5 C 2 36 12 Время простоя  1 № судна 2 3 Ущерб от простоя 4 5 6 7 В   4­ю   строку   таблицы   впишем   формулы,   по   которым   для   каждого   судна   сосчитается =СУММПРОИЗВ(C3:F3;C6:F6) =D6+D2 =C6+C2 =E6+E2 =B2 D 3 28 7 E 4 24 4 F 5 72 3 величина  k=   . Затем отсортируем столбцы диапазона ячеек  B1:F4 в порядке возрастания значений  k  в 4­й строке. Указание на то, что производится сортировка столбцов, задается с помощью диалогового окна Параметры сортировки: столбцы диапозона; cортировать  по – строка 4,  по возрастанию. После   проведения   сортировки   в   диапазоне   ячеек  B1:F1   будет   содержаться   порядок прохождения   судов   через   шлюз   со   следующими   номерами:   №   2,   3,   4,   1,   5.   При   такой очередности   общий   ущерб   от   простоя   будет   минимальным   и   составит   1347   денежных единиц,   в   то   время   как   при   шлюзовании   судов   в   порядке   их   прибытия   общий   ущерб составлял единицы. Таблица 3. денежных 1942       A Время простоя  1 № судна 2 3 Ущерб от простоя 4 5 6 7 Общий ущерб k B 2 36 12 3 1347 C 3 28 7 4 36 D 4 24 4 6 64 E 1 45 5 9 88 F 5 72 3 24 133 ИССЛЕДОВАНИЕ МЕТОДОВ ВЫЧИСЛЕНИЯ ОПРЕДЕЛЁННЫХ ИНТЕГРАЛОВ Задача 1. Вычислить по формуле прямоугольников         с шагом   . Заметим, что этот интеграл легко может быть вычислен аналитически:     Чтобы найти приближённое значение интеграла   , нужно: 32 ­ ­ ­ разделить отрезок [a, b] на n равных частей точками х0= а, х1, х2,..., х n ­1, х n = b; вычислить значения подынтегральной функции   в точках  деления, т.е. нати  у 0 = f (x0), у 1 =f (x1), у 2 = f (x2), у n ­1 = f (xn­1), у n = f (xn) ; воспользоваться одной из приближённых формул. Метод прямоугольников: Простейшим приближённым методом является метод прямоугольников.  Геометрически идея способа вычисления определённого интеграла по формуле  прямоугольников состоит в том, что площадь трапеции АВСD  заменяется суммой площадей прямоугольников, одна сторона которых равна, а криволинейной другая ­  Для   нахождения   определённого   интеграла   методом   прямоугольников   необходимо   ввести значения  подынтегральной функции f(x) в рабочую таблицу Excel  в диапазоне х   [0;3 ] с заданным шагом  х = 0,1. A Аргумент 0 0,1 0,2 B Функция =A2^2 = 0,1* Сумм (В3:В32) 1 2 3 4 5 6 7 8 9 … 32 33 В ячейке В33 появляется приближённое значение искомого интеграла (9,455) . Сравнивая полученное приближённое значение с истинным значением интеграла (9), можно видеть, что ошибка приближения метода прямоугольников в данном случае равна = 0,455 Метод трапеций: Криволинейная трапеция заменяется на сумму нескольких трапеций и приближённое  значение определённого интеграла находится как сумма площадей трапеций.  определенного   интеграла Для   нахождения методом   трапеций,   как   и   в   случае   использования   метода   прмоугольников,   значения подынтегральной функции f(x)  должны быть введены рабочую таблицу Excel в диапазоне х    [0;3] с заданным шагом  х = 0,1. A 1 Аргумен B Функция 33 2 3 4 5 6 7 8 9 … 32 33 0 0,1 0,2 =A2^2 =0,1*((B2+B32)/2+СУММ(B2:B31) В ячейке В34 появляется приближённое значение искомого интеграла (9,005) . Сравнивая полученное приближённое значение с истинным значением интеграла (9), можно видеть, что ошибка приближения метода трапеций в данном случае равна = 0,005 Метод трапеций обычно даёт более точное значение интеграла, чем метод прямоугольников Задача 2.  Вычислить по формуле прямоугольников      с шагом  . Решение с помощью VBA Создание интерфейса:  Рисунок 1. Код программы: Private Sub CommandButton3_Click() End End Sub Private Sub UserForm_Initialize() With Me.ComboBox1 .AddItem "Метод_Трапеции" .AddItem "Метод_Прямоугольников" End With End Sub Рисунок 1.  Private Sub CommandButton2_Click() Dim n As Single, a As Single, x As Single Dim b As Single, s As Single, s1 As Single Dim s2 As Single, z As Single, i As String i = ComboBox1.Value a = TextBox1.Text b = TextBox2.Text n = TextBox3.Text   Select Case i Case Is = "Метод_Трапеции" 34 h = (b ­ a) / n: s = 0 x = a + h Do While x < b s = s + fun(x)  x = x + h Loop s = (h / 2) * (fun(a) + 2 * s + fun(b)) TextBox4.Text = s Case Is = "Метод_Прямоугольников" h = (b ­ a) / n: s1 = 0 x = a + h Do While x < b s1 = s1 + fun(x) x = x + h Loop s1 = h * s1 TextBox5.Text = s1 End Select End Sub Function fun(x As Single) As Single fun = x ^ 2 End Function Рисунок 2. Задания для самостоятельного выполнения: Задача 1. Методом прямоугольников и методом трапеций найти следующие интегралы: i. ii.    при   x=0,1;    при   x=0,1. Задание 2. Построить график и вычислить площадь криволинейной трапеции, ограниченной линиями y=x2sin x, y=0, x=a, x=b (a

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

Компьютерное моделирование в MS Excel

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