Использование ППП Eureka и Excel при решении задач оптимизации
Использование ППП Eureka для поиска экстремумов функций одной переменной. Для поиска максимумов функций одной переменной необходимо в окне Edit набрать $|__|max(F) y(x)= F=y(x) В окне Solution будет выдано решение F= x= Перед решением задачи весьма полезно оценить вид функции, экстремум которой необходимо найти и уточнить интервал x, в котором этот экстремум находится. Для этого достаточно воспользоваться командой Plot в позиции Graf основного меню. Из вида графика сделать вывод о правильности решения. Использование ППП Excel для поиска экстремумов функций одной переменной. Для поиска максимумов функций одной переменной необходимо: Вызвать Подбор параметра, с помощью команды в меню Сервис. Окно Подбор параметра состоит из трех полей: - Установить целевую ячейку, в котором ставится ссылка на ячейку с формулой (Y); - Равной – выбираем максимальному значению; - Изменяя ячейки, в которой ставится ссылка на ячейку с изменяемым параметром (первая граница, а интервала (а,в)). После нажатия кнопки OK, появляется окно, Результаты поиска решения, сохраняем найденное решение. Полученное решение: Содержание отчета 1. Содержательная постановка задачи. 2. Исходные данные. 3. Краткое описание методов. 4. Блок схема подпрограмм и блок схема головного (или управляющего) модуля. 5. Листинг подпрограмм и управляющего модуля. 6. Распечатка полученных результатов. 7. Распечатка результатов в Excel и Эврика. Пример выполнения лабораторной работы Дана функция y = -2x2 + 3x + 50. Найти оптимальное значение функции y двумя способами: методом «золотого сечения» и методом «половинного деления». Заданный интервал измерения x (0;1), точность вычисления E = 0.001.
БЛОК-СХЕМА
где а, b - нижняя и верхняя границы изменения х; е - точность вычислений; dih - процедура вычисления методом половинного деления; zolot - процедура вычисления методом золотого сечения.
Рис. 9. Блок схема процедуры решения по методу золотого сечения, функция. ПРОГРАММА НА АЛГОРИТМИЧЕСКОМ ЯЗЫКЕ QBASIC DECLARE SUB zolot (a!, b!, E!, xmax!) DECLARE SUB dih (a!, b!, E!, xmax!) DECLARE FUNCTION f! (x!) CLS INPUT "введите значения отрезка a="; a INPUT "введите значения отрезка b="; b INPUT "введите погрешность вычисления Eps="; E REM метод дихотомии или половинного деления CALL dih(a, b, E, xmax) PRINT "Значения max по методу дихотомии" PRINT "при X="; xmax PRINT "значение функции Y(xmax)="; f(xmax) a = 0 b = 1 PRINT "Значение max по методу золотого сечения" CALL zolot(a, b, E, xmax) PRINT "при X="; xmax PRINT "значение функции Y(xmax)="; f(xmax) END SUB dih (a, b, E, xmax) DO UNTIL ABS(b - a) < 2 * E x1 = (a + b - E) / 2 x2 = (a + b + E) / 2 IF f(x1) > f(x2) THEN b = x2 ELSE a = x1 END IF LOOP xmax = (a + b) / 2 END SUB FUNCTION f (x) f = -2 * x ^ 2 + 3 * x + 50 END FUNCTION SUB zolot (a, b, E, xmax) k = (SQR(5) - 1) / 2 x1 = a + (1 - k) * (b - a) x2 = a + k * (b - a) DO UNTIL ABS(x2 - x1) < E IF f(x1) < f(x2) THEN a = x1 x1 = x2 ELSE b = x2 x2 = x1 END IF x1 = a + (1 - k) * (b - a) x2 = a + k * (b - a) LOOP xmax = (x1 + x2) / 2 END SUB РЕЗУЛЬТАТ в Qbasic Значение max по методу дихотомии при X=.7563525 значение функции Y(xmax)= 51.12492 Значение max по методу золотого сечения при X=.748997 значение функции Y(xmax)= 51.125 Решение задачи с использованием ППП Eureka
$ max(F) y(x)=-2*x^2+3*x+50 F=y(x)
Решение: Переменные Значения F = 51.125000 x =.75000000 Все ограничения удовлетв. = 98,6% График функции имеет вид: Y(x) = -2x^2 + 3*x + 50 Рисунок 10. График в Эврике.
Задания для выполнения лабораторной работы В соответствии с содержательной постановкой задачи (описанной ранее) студенты определяют диапазон нахождения оптимального значения функции
По указанию преподавателя студенты составляют блок-схемы алгоритмов решения задачи, программы на алгоритмическом языке для решения задачи предлагаемыми методами. Отладив программу на ЭВМ, получив решение задачи, студенты анализируют полученные решения и сравнивают их с решением, полученным с помощью ППП Eureka и Excel. Контрольные вопросы 1. Какой экстремум называется глобальным? 2. Что такое унимодальная функция? 3. В чем состоит задача оптимизации? 4. Каким образом можно сузить интервал исследования? 5. перечислите этапы алгоритма решения задачи нахождения максимума функции? 6. Что происходит с уменьшением шага изменения аргумента? 7. Перечислите методы оптимизации функции? 8. На чем основан метод равномерного поиска? 9. Каким алгоритмом реализуется метод дихотомии? 10. Для каких функций пригоден метод половинного деления? 11. Какого основное достоинство метода половинного деления? 12. В чем заключается метод Фибоначчи? 13. На чем основан метод «золотого сечения»? 14. Приведите алгоритм метода «золотого сечения»? 15. Какой из рассмотренных в лабораторной работе методов приводит к более «быстрому» решению? 16. Какие подпрограммы Вы использовали в лабораторной работе? 17. Каким оператором осуществляется вызов процедуры? 18. Где используются формальные и фактические параметры?
ЛАБОРАТОРНАЯ РАБОТА № 7 Цель работы Ознакомление с основными принципами работы с файлами последовательного доступа. Работа с файлами Информация, вводимая с клавиатуры или обрабатываемая с помощью программных средств Бейсика, размещается в оперативной памяти компьютера. Алгоритм, набранный в Бейсике, может быть сохранен на диске в виде файла. Файл — это поименованная область на магнитном или лазерном диске. В файлах могут содержаться тексты, графические и видеоизображения, звуки и музыка, таблицы и базы, данные программы, данные для этих программ. Требования к имени файла · имя не должно быть больше чем 8 символов; · имя может состоять из букв латинского алфавита, цифр и символов, например, _, -, (,), $ и некоторых других.
· в имени файла запрещены символы <Пробел>, *, точка, запятая, кавычки, двоеточие. Впрочем, злоупотреблять специальными символами не стоит — букв и цифр вполне хватает. Расширение файла Файл имеет расширение. Расширение имени файла (англ. filename extension, часто говорят просто расширение файла или расширение) — последовательность символов, добавляемых к имени файла и предназначенных для идентификации типа (формата) файла. Расширение имеет длину не более трех символов, указывается через точку после имени.
В файлах вы можете хранить как исходные данные для обработки, так и результаты работы программы. Для работы в Бейсике необходимы файлы, хранящие однородные по типу или структуре сведения, о каких-либо объектах. Набор данных о каком-либо одном объекте называется записью. Файл может быть пустым, т. е. содержать 0 байт информации, но имя файла и символ конца файла будут присутствовать. (Байт - единица измерения количества информации, объема памяти и емкости запоминающего устройства. По умолчанию байт считается равным 8 битам).
Записи могут содержать данные разных типов, но должны быть обязательно одинаковы по структуре, например: "Запорожец", "4067 ЛДЕ", "1972", "100$" "ГАЗ-34", "6666 ЛАА", 1989, "3500$"
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|