Технология решения оптимизационных задач средствами программы MathCAD
Понятие линейного программирования и оптимизации. Основы работы в системе MathCAD. Интерфейс пользователя, входной язык и тип данных. Этапы компьютерного математического моделирования. Пример решения оптимизационной задачи средствами программы MathCAD.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 16.10.2011 |
Размер файла | 352,8 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Государственное образовательное учреждение
среднего профессионального образования
"Кировский педагогический колледж"
Курсовая работа
Технология решения оптимизационных задач средствами программы MathCAD
Руководитель: преподаватель информатики Пучкова Е.А.
Павлюк Елена Викторовна
специальность 050202 "Информатика"
2008
Оглавление
- Введение
- 1. Оптимизация средствами MathCAD
- 1.1 Понятие линейного программирования и оптимизации
- 1.2 Основы работы в системе MathCAD
- 1.2.1 Интерфейс пользователя
- 1.2.2 Входной язык системы MathCAD. Типы данных
- 1.2.4 Ввод и редактирование данных
- 2. Технология решения оптимизационных задач средствами
- программы MathCAD
- 2.1 Этапы компьютерного математического моделирования
- 2.2 Пример решения оптимизационной задачи
- Заключение
- Тезаурус
- Список используемой литературы
Введение
В настоящее время оптимизация находит применение в науке, технике и в любой другой области человеческой деятельности. Оптимизация - целенаправленная деятельность, заключающаяся в получении наилучших результатов при соответствующих условиях.
Поиски оптимальных решений привели к созданию специальных математических методов и уже в XVIII веке были заложены математические основы оптимизации. Однако до второй половины XX века методы оптимизации во многих областях науки и техники применялись очень редко, поскольку практическое использование математических методов оптимизации требовало огромной вычислительной работы, которую без ЭВМ реализовать было крайне трудно, а в ряде случаев - невозможно.
Одной из основных областей применения персональных компьютеров являются научно-технические расчеты и задачи, среди которых оптимизационные составляют большую часть. Поневоле ученому и инженеру, физику, химику и математику приходилось становиться программистом. Необходимость в этом отпала лишь после появления интегрированных программных систем автоматизации математических расчетов: MathCAD, Mathematica, Mat lab, Eureka, Maple и др. Одну из таких программ мы рассмотрим в данном исследовании. Большое число подобных разработок свидетельствует о значительном интересе к оптимизационным задачам во всем мире и бурном развитии компьютерных математических систем. Теперь же пользователь ставит задачу, а методы и алгоритмы решения находит сама система.
Проблема нашего исследования состоит в выявлении значимости и роли технологии решения оптимизационных задач средствами MathCAD. Это и обусловило выбор темы данной работы: "Технология решения оптимизационных задач средствами программы MathCAD".
программа математическое моделирование оптимизация
Цель исследования состоит в том, чтобы теоретически обосновать, составить и экспериментально проверить эффективность решения оптимизационных задач средствами MathCAD.
Объект исследования представляют оптимизационные задачи, предмет исследования - технология решения оптимизационных задач средствами программы MathCAD.
Гипотеза исследования заключается в следующем предположении: решение оптимизационных задач будет более быстрым и удобным, если использовать технологию их решения средствами программы MathCAD.
Задачи исследования:
1. Раскрыть основные понятия темы на основе анализа информационно-технологической литературы.
2. Изучить возможности программы MathCAD.
3. Составить технологию решения оптимизационных задач средствами MathCAD.
Методы, используемые в исследовании следующие: Статистические методы, моделирование, самооценка, количественный и качественный анализ полученных данных.
Опытно-экспериментальную базу составляет ГОУ СПО "Кировский педагогический колледж".
Теоретическая значимость курсовой работы заключается в разработке комплекса основных возможностей программы MathCAD для её самостоятельного изучения и составлении технологии решения оптимизационных задач средствами данной программы. Что же касается практической значимости, то мы сможем более быстро и удобно решать оптимизационные задачи, используя разработанную технологию их решения средствами программы MathCAD.
1. Оптимизация средствами MathCAD
1.1 Понятие линейного программирования и оптимизации
Линейное программирование - один из первых и наиболее подробно изученных разделов математического программирования. Именно линейное программирование явилось тем разделом, с которого начала развиваться сама дисциплина "математическое программирование". Термин "линейное программирование" возник в результате неточного перевода английского "linear programming". Одно из значений слова "programming" - составление планов, планирование. Следовательно, правильным переводом "linear programming" было бы не "линейное программирование", а "линейное планирование", что более точно отражает содержание дисциплины. Однако, термин линейное программирование в нашей литературе стало общепринятым.
Линейное программирование возникло после Второй Мировой Войны и стало быстро развиваться, привлекая внимание математиков, экономистов и инженеров благодаря возможности широкого практического применения, а так же математической "стройности". Можно сказать, что линейное программирование применимо для построения математических моделей тех процессов, в основу которых может быть положена гипотеза линейного представления реального мира: экономических задач, задач управления и планирования, оптимального размещения оборудования и др.
Линейное программирование представляет собой наиболее часто используемый метод оптимизации. Так, по оценкам американских экспертов, около 75% от общего числа применяемых оптимизационных методов приходится на линейное программирование. Около четверти машинного времени, затраченного в последние годы на проведение научных исследований, было отведено решению задач линейного программирования и их многочисленных модификаций.
В настоящее время линейное программирование является одним из наиболее употребительных аппаратов математической теории оптимального принятия решения. Для решения задач линейного программирования разработано сложное программное обеспечение, дающее возможность эффективно и надежно решать практические задачи больших объемов. Эти программы и системы снабжены развитыми системами подготовки исходных данных, средствами их анализа и представления полученных результатов.
Оптимизация (optimization) - 1. Процесс нахождения экстремума функции Экстремум функции (extremum) - термин, объединяющий понятия максимума и минимума функции. , т.е. выбор наилучшего варианта из множества возможных, процесс выработки оптимальных решений.2. Процесс приведения системы в наилучшее (оптимальное) состояние.
Иначе говоря, первое определение трактует термин “оптимизация” как факт выработки и принятия оптимального решения Оптимальное решение (optimal solution) - решение, которое минимизирует или максимизирует (в зависимости от характера задачи) критерий качества оптимизационной модели (критерий оптимальности) при заданных условиях и ограничениях, представленных в этой модели. (в широком смысле): мы выясняем, какое состояние изучаемой системы будет наилучшим с точки зрения предъявляемых к ней требований (критерия оптимальности Критерий оптимальности (optimality criterion) - фундаментальное понятие современной экономики (которая переняла его из математического программирования и математической теории управления); применительно к той или иной экономической системе это один из возможных критериев (признаков) ее качества, а именно тот признак, по которому производится сравнение вариантов и один или несколько из них признаются наилучшими из возможных (в данных объективных условиях). ) и рассматриваем такое состояние как цель.
Второе определение имеет в виду процесс выполнения этого решения, т.е. перевод системы от существующего к искомому оптимальному состоянию.
В зависимости от вида используемых критериев оптимальности (целевых функций или функционалов) и ограничений модели (множества допустимых решений) различают скалярную оптимизацию, векторную оптимизацию, многокритериальную оптимизацию, стохастическую оптимизацию и др.
1.2 Основы работы в системе MathCAD
MathCAD - это популярная интегрированная компьютерная система, предназначенная для автоматизации решения массовых математических задач в самых различных областях науки, техники и образования. Название системы происходит от двух слов - Mathematical (математика) и CAD (Computer Aided Design - системы автоматического проектирования, или САПР).
Фирма MathSoft Inc. (США) выпустила первую версию системы в 1986 г. Главная отличительная особенность системы MathCAD заключается в её входном языке, который максимально приближен к естественному математическому языку, используемому как в трактатах по математике, так и в научной литературе. В ходе работы с системой пользователь готовит так называемые документы. Они одновременно включают описания алгоритмов вычислений, программы, управляющие работой систем, и результат вычислений.
MathCAD имеет мощный математический аппарат в виде библиотеки встроенных программ, реализующих множество математических алгоритмов. Система позволяет динамически обрабатывать данные в числовом и аналитическом виде. В MathCAD имеются собственные текстовый, формульный и графический редакторы, возможность использования трехмерной графики, анимации и звукового сопровождения.
1.2.1 Интерфейс пользователя
Под интерфейсом пользователя подразумевается совокупность средств графической оболочки MathCAD, обеспечивающих лёгкое управление системой, как с клавишного пульта, так и с помощью мыши. Под управлением понимается и просто набор необходимых символов, формул, текстовых комментариев и т.д., и возможность полной подготовки в среде MathCAD документов (Work Sheets) и электронных книг с последующим их запуском в реальном времени. Пользовательский интерфейс системы создан так, что пользователь, имеющий элементарные навыки работы с Windows-приложениями, может сразу начать работу с MathCAD.
1) Окно редактирования
2) Главное меню системы
Рисунок 1. Окно редактирования MathCAD
Рисунок 2. Главное меню системы MathCAD
Вторая строка окна системы - главное меню (рис.2). Назначение команд данного меню рассмотрено далее:
File (файл) - работа с файлами, сетью Internet и электронной почтой; ниспадающее меню содержит команды, стандартные для Windows-приложений.
Edit (правка) - редактирование документов; ниспадающее меню также содержит команды, стандартные для Windows-приложений. Большинство из них доступны только в случае, если в документе выделены одна или несколько областей (текст, формула, график и т.д.).
View (просмотр) - изменение средств просмотра:
µ Toolbars (панели) - позволяет отображать или скрывать панели инструментов Standart (стандартная), Formatting (форматирования), Math (математика).
µ Status bar (строка состояния) - включение или отключение отображения строки состояния системы.
µ Ruler (линейка) - включение-отключение линейки.
µ Regions (границы) - делает видимыми границы областей (текстовых, графических, формул).
µ Zoom (изменение масштаба).
µ Refresh (обновить) [Ctrl+R] - обновление содержимого экрана.
µ Animate (анимация) - команда позволяет создать анимацию.
µ Playback (проигрыватель) - воспроизведение анимации, хранящейся в файле с расширением *. avi.
µ Preferences (настройки) - одна из вкладок всплывающего окна (General) позволяет задать некоторые параметры работы программы, не влияющие на вычисления, другая вкладка (Internet) служит для ввода информации при совместной работе с MathCAD-документами через Internet.
Insert (вставка) - команды этого меню позволяют помещать в MathCAD - документ графики, функции, гиперссылки, компоненты и встраивать объекты.
Format (формат) - изменение формата объектов:
µ Equation (уравнение) - форматирование формул и создание собственных стилей для представления данных
µ Result (результат) - позволяет задать формат представления результатов вычислений.
µ Text (текст) - форматирование текстового фрагмента (шрифт, размер, начертание)
µ Paragraf (абзац) - изменение формата текущего абзаца (отступы, выравнивание).
µ Tabs (табуляция) - задание позиций маркеров табуляции.
µ Style (стиль) - оформление текстовых абзацев.
µ Properties (свойства) - вкладка Display (отображение) позволяет задать цвет фона для наиболее важных текстовых и графических областей; вставленный в документ рисунок (Insert => Picture) позволяет заключить в рамку, вернуть ему первоначальный размер. Вкладка Calculation (вычисление) позволяет для выделенной формулы включить и отключить вычисление; в последнем случае в правом верхнем углу области формулы появляется маленький черный прямоугольник и формула превращается в комментарий.
µ Graf (график) - позволяет менять параметры отображения графиков.
µ Separate regions (разделить области) - позволяет раздвигать перекрывающиеся области.
µ Align regions (выровнять области) - выравнивает выделенные области по горизонтали или по вертикали.
µ Headers/Footers (колонтитулы) - создание и редактирование колонтитулов.
µ Repaganite Now (перенумерация страниц) - производит разбивку текущего документа на страницы.
Math (математика) - управление процессом вычислений; в MathCAD существует два режима вычислений: автоматический и ручной. В автоматическом режиме результаты вычислений полностью обновляются при каком-либо изменении в формуле.
µ Automatic Calculation (автоматическое вычисление) - позволяет переключать режимы вычислений.
µ Calculate (вычислить) - при ручном режиме вычислений позволяет пересчитать видимую часть экрана.
µ Calculate Worksheet (просчитать документ) - пересчет всего документа целиком.
µ Optimization (оптимизация) - При помощи этой команды можно заставит MathCAD перед численной оценкой выражения произвести символьные вычисления и при нахождении более компактной формы выражения использовать именно ее. Если выражение удалось оптимизировать, то справа от него появляется маленькая красная звездочка. Двойной щелчок на ней открывает окно, в котором находится оптимизированный результат.
µ Options (параметры) - позволяет задавать параметры.
Symbolic (символы) - выбор операций символьного процессора.
Window (окна) - управление окнами системы.
Help (справка) - работа со справочной базой данных о системе.
µ MathCAD Help (справка по MathCAD) - содержит три вкладки: Содержание - справка упорядочена по темам; Указатель - предметный указатель; Поиск - находит нужное понятие при вводе его в форму.
µ Resource Center (центр ресурсов) - информационный центр, содержащий обзор вычислительных способностей MathCAD (Overview and Tutorials), быструю справку в виде примеров из различных областей математики (Quicksheets and Reference tables).
µ Tip of the Day - всплывающие окна-подсказки с полезными советами (возникают при загрузке системы).
µ Open Book (открыть книгу) - позволяет открыть справочник системы MathCAD.
µ About MathCAD (о программе MathCAD) - информация о версии программы, авторских правах и пользователе.
Каждая позиция главного меню может быть сделана активной. Для этого достаточно указать на нее курсором - стрелкой мыши и нажать ее левую клавишу. Можно также нажать клавишу F10 и использовать клавиши перемещения вправо и влево. Затем выбор фиксируется нажатием клавиши ввода Enter. Если какая-либо позиция главного меню делается активной, она выводит ниспадающее подменю со списком доступных и недоступных (но возможных в дальнейшем) операций. Перемещение по списку подменю, и выбор нужной операции производится аналогично тому, как это описано для главного меню.
3) Стандартная панель инструментов
Рисунок 3. Стандартная панель инструментов в MathCAD
Третью строку окна системы (рис.3) занимает панель инструментов (Toolbox). Она содержит несколько групп кнопок управления с пиктограммами, каждая из которых дублирует одну из важнейших операций главного меню. Стоит только остановить курсор мыши на любой из этих пиктограмм, как в желтом окошечке появится текст, объясняющий функции пиктограмм. Рассмотрим действие кнопок быстрого управления системой.
Кнопки операций с файлами
Документы системы MathCAD являются файлами, т.е. имеющими имена блоками хранения информации на магнитных дисках. Файлы можно создавать, загружать (открывать), записывать и распечатывать на принтере. Возможные операции с файлами представлены в панели инструментов первой группой из трех кнопок:
µ New Worksheet (создавать) - создание нового документа с очисткой окна редактирования.
µ Open Worksheet (открыть) - загрузка раннее созданного документа из диалогового окна.
µ Save Worksheet (сохранить) - запись текущего документа с его именем.
µ Печать и контроль документов.
µ Print Worksheet (печать) - распечатка документа на принтере.
µ Print Preview (просмотр) - предварительный просмотр документа.
µ Check Speling (проверка) - проверка орфографии документа.
Кнопки операций редактирования
Во время подготовки документов их приходится редактировать, т.е. видоизменять и дополнять.
µ Cut (вырезать) - перенос выделенной части документа в буфер обмена с очисткой этой части документа.
µ Copy (копировать) - копирование выделенной части документа в буфер обмена с сохранением выделенной части документа.
µ Paste (вставить) - перенос содержимого буфера обмена в окно редактирования на место, указанное курсором мыши.
µ Undo (отменить) - отмена предшествующей операции редактирования.
Три последние операции связаны с применением буфера обмена. Он предназначен для временного хранения данных и их переноса из одной части документа в другую, либо для организации обмена данными между различными приложениями.
Кнопки размещения блоков
Документы состоят из различных блоков: текстовых, формальных, графических и т.д. Блоки просматриваются системой, интерпретируются и исполняются. Просмотр идет справа налево и снизу вверх.
µ Align Across (выровнять по горизонтали) - блоки выравниваются по горизонтали.
µ Align Down (выровнять вниз) - блоки выравниваются по вертикали, располагаясь сверху вниз.
Пиктограммы этих кнопок изображают блоки и указанные варианты их размещения.
Кнопки операций с выражениями
Формульные блоки часто являются вычисляемыми выражениями или выражениями, входящими в состав заданных пользователем новых функций. Для работы с выражениями служат пиктограммы
Следующие группы кнопок являются специфичными именно для системы MathCAD.
Рисунок 4. Кнопки операций с выражениями
Insert Function (вставить функции) - вставка функции из списка, появляющегося в диалоговом окне.
Insert Unit (вставить единицы) - вставка единиц измерения.
Calculate (пересчитать) - вычисление выделенного выражения.
Доступ к новым возможностям MathCAD
Начиная с версии MathCAD 2001 появились новые кнопки, дающие доступ к новым возможностям системы:
Insert Giperlink (включение гиперссылки) - обеспечивает создание гиперссылки.
Component Wizard (мастер компонентов) - открывает окно Мастера, дающего удобный доступ ко всем компонентам системы.
Ran Math Connex (запуск системы Math Connex) - запуск системы для стимулирования блочно-заданных устройств.
Кнопки управления ресурсами
Resource Center (центр ресурсов) - дает доступ к центру ресурсов.
Help (справка) - дает доступ к ресурсам справочной базы данных системы.
4) Панель форматирования.
Четвертая строка верхней части экрана содержит типовые средства управления шрифтами:
µ Style - Переключатель выбора стилей;
µ Font - Переключатель выбора набора символов;
µ Point Size - Переключатель выбора размеров символов;
µ Bold - Установка жирных символов;
µ Italic - Установка наклонных символов;
µ Underline - Установка подчёркнутых символов;
µ Left Align - Установка левостороннего выравнивания;
µ Center Align - Установка выравнивания по центру;
µ Right Align - Установка правостороннего выравнивания.
До тех пор, пока не начат набор элементов документа, часть описанных кнопок и иных объектов пользовательского интерфейса находится в пассивном состоянии. В частности, в окнах переключателей панели форматирования нет надписей. Пиктограммы и переключатели становятся активными, как только появляется необходимость в их использовании.
Внизу экрана кроме полосы горизонтальной прокрутки расположена ещё одна строка - строка состояния. В ней выводится служебная информация, краткие комментарии, номер страницы и др. Эта информация полезна для оперативной оценки состояния системы в ходе работы с нею.
5) Наборные математические панели инструментов
Для ввода математических знаков в MathCAD используются удобные перемещаемые наборные панели со знаками. Они служат для вывода заготовок - шаблонов математических знаков (цифр, знаков арифметических операций, матриц, знаков интегралов, производных и т.д.). Для вывода панели Math необходимо выполнить команду View => Toolbar => Math. Наборные панели появляются в окне редактирования документов при активизации соответствующих пиктограмм - первая линия пиктограмм управления системой. Используя общую наборную панель, можно вывести или все панели сразу или только те, что нужны для работы. Для установки с их помощью необходимого шаблона достаточно поместить курсор в желаемое место окна редактирования (красный крестик на цветном дисплее) и затем активизировать пиктограмму нужного шаблона, установив на него курсор мыши и нажав ее левую клавишу.
Многие функции и операции, которые вставляются в документ с помощью наборных математических панелей, могут быть помещены в документ с помощью "быстрых клавиш". При этом работа в системе MathCAD становится более продуктивной.
1.2.2 Входной язык системы MathCAD. Типы данных
Алфавит MathCAD
Алфавит входного языка системы определяет совокупность символов и слов, которые используются при задании команд, необходимых для решения интересующего пользователя класса задач.
Алфавит системы MathCAD содержит:
µ Строчные и прописные латинские буквы;
µ Строчные и прописные греческие буквы;
µ Арабские цифры от 0 до 9;
µ Системные переменные;
µ Операторы;
µ Имена встроенных функций;
µ Спецзнаки;
µ Строчные и прописные буквы кириллицы (при работе с русифицированными документами).
К укрупненным элементам языка относятся типы данных, операторы, функции пользователя и управляющие структуры. К типам данных относятся числовые константы, обычные и системные переменные, массивы (векторы и матрицы) и данные файлового типа. Для ввода греческих букв можно использовать панель наборных знаков Greek, включаемую кнопкой на панели Math.
Числовые константы
Константами называют поименованные объекты, хранящие некоторые значения, которые не могут быть изменены. В качестве имени числовых констант используются их числовые значения. В системе MathCAD используются и числовые константы, значениями которых являются числа с разной системой исчисления: десятичные, восьмеричные или шестнадцатеричные.
Числовые константы задаются с помощью арабских цифр, десятичной точки (а не запятой) и знака " - " (минус). Например:
123 - целочисленная десятичная константа.
12.3 - десятичная константа с дробной частью;
12.3*10-5 - десятичная константа с мантиссой (12.3) и порядком - 5.
Система MathCAD может работать с восьмеричными и шестнадцатеричными числами. Восьмеричные числа в конце отмечаются латинской буквой O (от слова octal - восьмеричное). Шестнадцатеричные числа имеют в конце отличительный признак в виде буквы h или H, такие числа надо начинать с цифры 0 (ноль).
Комплексные числа
Большинство вычислений система выполняет как с действительными, так и с комплексными числами, которое обычно представляются в алгебраическом виде: Z=ReZ+i*ImZ или Z=ReZ+j*ImZ. Здесь ReZ - действительная часть комплексного числа Z, ImZ - его мнимая часть, а символы i или j обозначают мнимую единицу. Такое представление характерно для системы MathCAD.
Однако система не всегда знает, какой символ применить для обозначения мнимой единицы. Поэтому перед использованием любых операций с комплексными числами полезно вначале определить i или j как мнимую единицу (т.е. присвоить им значение квадратного корня из - 1).
Переменные
Переменные являются поименованными объектами, имеющими некоторое значение, которое может изменяться по ходу выполнения программы. Идентификаторы в системе MathCAD имеют практически любую длину, в них входят любые латинские и греческие буквы, а также цифры.
Идентификатор начинается только с буквы, например: x, x1. Идентификатор не должен содержать пробелов не должен совпадать с именами встроенных или определенных пользователем функций. Нельзя использовать для идентификаторов буквы русского языка.
Операторы
Операторы представляют собой элементы языка, с помощью которых можно создавать математические выражения. К ним относятся символы арифметических операций, знаки вычисления сумм, произведений, производной и интеграла и т.д. После указания операндов, операторы становятся исполняемыми по программе блоками.
Встроенные функции
MathCAD имеет множество встроенных функций, которые обладают особым свойством: в ответ на обращение к ним по имени с указанием аргумента они возвращают некоторое значение - символьное, числовое, вектор или матрицу. В систему встроен ряд функций, например функция вычисления синуса sin (x) аргумента x, логарифма ln (x) и т.д. Благодаря встроенным функциям обеспечивается расширение входного языка системы и его адаптация к задачам пользователя:
µ встроенные элементарные функции;
µ встроенные специальные математические функции;
µ функции с условиями сравнения.
Математические выражения
Функции могут входить в математические выражения. Например, в выражении:
Y-переменная, 1 и 2 - числовые константы, "*" и "+" - операторы, а ln (x) - встроенная функция с аргументом х.
1.2.4 Ввод и редактирование данных
Ввод и редактирование формул и текста
В MatCAD-документе курсор ввода имеет вид красного крестика. Этот крестик указывает, в каком месте рабочего листа будет произведено следующее действие. Установив указатель мыши в нужном месте документа и выполнив щелчок, вы перемещаете туда крестик (можно использовать стрелки, а не мышь). Указатель в виде крестика может принимать другие формы.
Он становится вертикальной чертой голубого цвета при вводе формулы в области формул или при выборе уже существующей формулы (рис.5). Перемещать этот голубой курсор можно только с помощью клавиш-стрелок.
Рисунок 5. Вид указателя при вводе формул
Помимо курсора формул в вашем распоряжении находится курсор мыши. С его помощью можно только позиционировать курсор формул, как и курсор-крестик, но не перемещать его.
Однако в MathCAD предусмотрены более экономичные методы редактирования и ввода. С помощью клавиши пробела можно увеличить область выделения - у голубого курсора появляется горизонтальный след. Отмеченный следом курсора фрагмент формулы, как бы подразумевается заключенным в скобки.
Введенную выше формулу можно ввести по-другому:
След курсора позволяет снабжать фрагменты формул мнимыми скобками таким образом, что последующая математическая операция относится ко всему выражению, отмеченному следом курсора, т.е. заключенному в мнимые скобки.
Часто бывает необходимым все-таки заключение в скобки некоторой части введенного выражения. Для этого достаточно выделить (с помощью клавиши [Пробел]) заключаемую в скобки часть выражения и нажать клавишу ['] (апостроф). Обычно курсор со следом при вводе формул имеет вид уголка, направленного вправо (след направлен влево от курсора), предлагая вправо ввести необходимые значения. Если вы пропустили какую-то часть формулы, или необходимо подправить выражение и дописать кое-что слева, то можно воспользоваться клавишей [Ins]. Клавиша [Ins] при вводе формул играет роль переключателя между режимом вставки и ввода. В режиме вставки (рис.6) след курсора направлен вправо, и вводимые символы появляются слева от курсора.
Рисунок 6. Вид курсора в режиме вставки
При редактировании формул случаются ошибки. На этот случай в меню Edit имеется команда Undo, отменяющая последнее действие. Того же результата можно достичь, воспользовавшись соответствующей кнопкой панели инструментов Standart или комбинацией клавиш [Alt+Backspace].
Для удаления отдельных чисел или фрагментов формул используется клавиша [Backspace] - если курсор находится в режиме ввода, и клавиша [Del] - если курсор находится в режиме вставки.
В MathCAD существует возможность разбивки больших выражений на строки, если выражения состоит из нескольких слагаемых. Для этого:
µ выполните щелчок на операнде, который, по вашему мнению, следует перенести на следующую страницу;
µ увеличьте след курсора в режиме вставки таким образом, чтобы отметить всю правую часть формулы;
µ нажмите клавишу Backspace, стоящий перед курсором знак "+" будет удален. При этом обе части формулы заключаются в скобки;
µ нажмите комбинацию клавиш [Ctrl+Enter] (осуществляется перевод строки).
Если же там, где оканчивается строка, находится знак вычитания, то необходимо удалить символ разности - минус - и произвести перевод строки. При этом MathCAD превратит разность в сумму, что сделает результат неправильным. Но погрешность можно компенсировать, присвоив первому слагаемому во второй строке знак минус.
Если вы по ошибке удалили знак умножения и осуществили перенос строки, то результат будет неправильным, поскольку MathCAD заменит умножение сложением. Разбивка на строки не может применяться для выражений, результаты вычислений которых получены в символьном виде.
Присваивание переменным значений
Обычные переменные отличаются от системных тем, что они должны быть предварительно определены пользователем. В качестве оператора присваивания используется знак ": =". Если переменной присваивается начальное значение с помощью оператора ": =", такое присваивание называется локальным.
С помощью знака "є" (три горизонтальные чёрточки, вводится клавишей [~] (тильда)) можно обеспечить глобальное присваивание, то есть оно может производиться в любом месте документа. Для вывода результата или для контроля значений переменных используется обычный знак равенства "=" (если выводится численный результат) или знак символьного равенства ">" (стрелка), если вычисления производятся в символьном виде.
2. Технология решения оптимизационных задач средствами
программы MathCAD
2.1 Этапы компьютерного математического моделирования
Цель использования экономико-математических методов состоит в обеспечении руководства организационно-экономической системы информацией, необходимой для выбора рационального поведения в различных ситуациях. В каждый момент времени система находится в определенном состоянии.
Переход из начального состояния в конечное может выполняться различными способами, называемыми стратегиями. Задача руководства состоит в выборе наилучшей стратегии, причем понятие "наилучшая стратегия" является относительным, зависит от ситуации и определяется поставленными целями. Основой формальных методов выбора наилучших стратегий является понятие математической модели.
Основные этапы использования формальных математических методов:
µ анализ ситуации и постановка задачи исследования;
µ построение математической модели;
µ формирование задачи выбора наилучшей стратегии;
µ решение задачи и анализ полученного решения с возможной корректировкой модели;
Анализ ситуации позволяет выделить основные типы параметров, описывающих состояние системы:
µ управляемые параметры являются искомыми и их значения определяют стратегию;
µ целевые параметры необходимы для описания поставленных целей. Значения целевых параметров зависят от управляемых параметров;
µ значения неуправляемых параметров не могут изменяться руководством, оставаясь постоянными, известными полностью или частично.
Разделение параметров на 3 основные группы носит относительный характер и может изменяться в зависимости от ситуации. Построение математической модели включает введение условных обозначений для параметров и, самое главное, установление зависимостей, которые связывают эти параметры. Любая модель является абстракцией, отражающей лишь самые важные черты, особенности описываемой системы. Будем считать, что зависимости между параметрами задаются в виде следующего набора функций:
Wi = F (X1,X2,.,Xn, a1,a2,.,ak), i= (1,m),
где
W - обозначения целевых параметров,
X - обозначения управляемых параметров,
а - обозначения неуправляемых параметров,
m - число целевых параметров,
n - число управляемых параметров,
k - число неуправляемых параметров.
Задача выбора наилучшей стратегии формируется на основе математической модели следующим образом:
µ из целевых параметров выбирается один, определяющий цель функционирования системы и, следовательно, конкретизирующий понятие наилучшей стратегии; значение этого параметра в зависимости от ситуации должно быть или как можно больше, или как можно меньше; соответствующая функция F называется целевой или критерием эффективности; эта функция позволяет сравнивать стратегии между собой и выбирать наилучшую из них в соответствии с поставленной целью;
µ на значения остальных (m-1) целевых параметров накладываются ограничения вида bi < Wi < ci, где b и c - заданные величины; эти ограничения определяют набор допустимых стратегий, т.е. такие значения управляемых параметров, при которых выполняются сразу все заданные условия; наилучшая стратегия должна выбираться только из допустимых.
В результате задача выбора наилучшей стратегии математически формулируется как задача оптимизации: найти такие значения управляемых параметров, при которых выполняются все ограничения на значения целевых параметров, и достигается наибольшее (наименьшее) значение целевой функции.
Условная запись: найти x1,x2,.,xn так, чтобы W = F (x, a) => max (min) при выполнении ограничений bi < Wi=F (x, a) < ci; i= (2,m).
Наиболее простой и распространенной на практике задачей подобного типа является задача линейного программирования. Ее особенность состоит в том, что все функции F являются линейными, т.е. F (X, a) = a1X1 + a2X2 +. + anXn
Рассмотрим процесс компьютерного математического моделирования, включающий численный эксперимент с моделью (рис.7) Первый этап - определение целей моделирования. Основными целями моделировании являются следующие:
µ модель нужна для того, чтобы понять, как устроен конкретный объект, какова его структура, основные свойства, законы развития и взаимодействия с окружающей средой (понимание);
µ модель нужна для того, чтобы научиться управлять объектом (или процессом) и определить наилучшие способы управления при заданных целях и критериях (управление);
µ модель нужна для того, чтобы прогнозировать прямые и косвенные последствия реализации заданных способов и форм воздействия на объект (прогнозирование).
Важнейшим этапом моделирования является разделение входных параметров по степени важности влияния их изменений на выходные. Такой процесс называется ранжированием. Чаще всего невозможно, да и не нужно учитывать все факторы, которые могут повлиять на значения интересующих величин. Отбрасывание менее значимых факторов огрубляет объект моделирования и способствует пониманию его главных свойств и закономерностей.
Рисунок 7. Этапы компьютерного математического моделирования
Следующий этап - поиск математического описания. На этом этапе необходимо перейти от абстрактной формулировки модели к формулировке, имеющей конкретное математическое наполнение. В этот момент модель предстает перед нами в виде уравнения, системы уравнений, системы неравенств, и т.д.
Когда математическая модель сформулирована, выбираем метод ее исследования. Мы рассмотрим лишь два: графический метод решения оптимизационных задач и симплекс-метод.
Графический метод решения задач линейного программирования
Графический метод основан на геометрической интерпретации задачи линейного программирования.
a. Рассмотрим ограничения в виде равенств. Будем исходить из того, что число переменных n на два больше числа независимых уравнений ограничений m, т.е. n - m =2. Тогда две из переменных, например x1 и x2 можно принять в качестве свободных, а остальные m сделать базисными и выразить их через свободные. В результате получим m = n - 2 уравнений вида:
где ij и i - сочетания коэффициентов aij и bi соответственно.
b. Будем искать решение задачи на плоскости в прямоугольной системе координат x10x2. Допустимые решения для переменных x1 и x2 будут находиться выше оси 0x1 и правее 0x2.
Найдем на плоскости x10x2 отображения остальных переменных x3, x4,., xn в соответствии с уравнениями [1]. С этой целью рассмотрим, например переменную x3 и положим, что ее величина равна своему крайнему значению, т.е. x3 = 0. Тогда из первого уравнения системы получим:
Это уравнение прямой, на которой x3=0. Аналогично строятся и остальные ограничивающие прямые x4 = 0, x5 = 0,. xn = 0, для каждой из которых определяется сторона, где x1 0, x2 0,., xn 0. Часть плоскости x10x2 образованная пересечением полуплоскостей соответствующих xi0 i=1,2,.,n; называется областью допустимых решений. В этой области значения всех переменных положительны. Вершины ОДР называются базисными допустимыми решениями.
c. Для нахождения оптимального решения подставим [1] в выражение для целевой функции и после приведения подобных членов получим:
F (x) =0 + 1 x1 + 2 x2.
Запишем вместо F (x) функцию:
F1 (x) = 1 x1 + 2 x2.
d. Обе функции достигают максимума (минимума) при одних и тех же значениях переменных x1 и x2. Найдем значения x1 и x2 доставляющие максимум (минимум) функции F1 (x). Для этого определим положение этой функции на плоскости x10x2. При F1 (x) =0 эта функция есть прямая проходящая через начало координат. Вторая точка, через которую пройдет эта прямая, определяется координатами x1=2, x2 = - 1. Если функции F1 (x) придавать различные постоянные значения, то прямая, отображающая эту функцию, будет перемещаться параллельно самой себе. Если целевая функция линейна, то очевидно, что максимального значения функция достигнет, когда прямая F1 (x) достигнет крайней точки области допустимых решений.
e. Конечно, можно найти направление перемещения функции необходимое для достижения заданного экстремума, тогда однозначно определится точка, которая будет доставлять функции ее максимальное значение. Однако чаще оказывается проще находить не направление роста функции, а просто посчитать ее значение в двух крайних точках области и выбрать исходя из задачи соответственно максимальное или минимальное значение.
При решении возможны следующие случаи: если ОЗЛП имеет единственное решение, то оно достигается в одной из вершин ОДР; даже при существовании ОДР ОЗЛП может не иметь решений, если в направлении возрастания (убывания) целевой функции ОДР неограниченна; решение ОЗЛП может быть не единственным, если прямая целевой функции параллельна стороне многоугольника ОДР.
Следует отметить, что рассмотренный метод позволяет решать задачи даже с нелинейными ограничениями. Хотя графический метод является достаточно простым и наглядным, однако применим в очень ограниченных случаях, когда количество независимых переменных не более двух.
Рассмотрим задачу: Задана целевая функция F (x) =3x1+2x2, для которой необходимо найти максимум при следующих ограничениях:
Приведем уравнения ограничения к равенствам, используя дополнительные переменные x3, х4,., х7:
На рисунке 8 приведены прямые соответствующие нулевым значениям дополнительных переменных, также показана прямая полученная исходя из заданной целевой функции при F (x) =0, и при достижении ей максимума F (x).
Рисунок 8. Решение задачи графическим методом
На рисунке выделена область, удовлетворяющая ограничениям, также показано направление максимального возрастания целевой функции. Как видно максимального значения функция принимает на границе области определяемой двумя уравнениями:
-2x1-x2= - 4;
3x1-2x2= - 6;
Решив аналитически данные уравнения, получим искомые оптимальные значения координат и максимум целевой функции
x1* = 2/7; x2* =24/7; F* (x1, x2) = 54/7.
Решение задач линейного программирования при помощи симплекс таблиц
Допустим, имеется исходная задача линейного программирования в канонической форме:
В общем случае m любых переменных можно выразить через оставшиеся (n-m) переменных, например - X1. Xm через Xm+1. Xn:
Здесь коэффициенты Вi и Аi,j выражаются через bi и ai,j. Переменные X1. Xm называются базисными, а Xm+1. Xn - свободными.
Если положить Xm+1=. =Xn=0, то Xi=Bi и если при этом все Bi =0, то и Xi =0, и такой вектор: X= (B1, B2,., Bm, 0, 0,., 0) называется базисным или опорным.
Выражаем целевую функцию через свободные переменные:
F=C0- (Cm+1Xm+1+. +CnXn).
Здесь коэффициенты C0, Cm+1,., Cn выражаются через сj, Bi, ai, j.
Начальная симплекс-таблица
Составим по этим данным так называемую начальную симплекс-таблицу (базис).
Начальная симплекс-таблица |
||||||||||||
Таблица 1 |
||||||||||||
Переменные |
Свободные переменные |
X1 |
… |
Xi |
… |
Xm |
Xm+1 |
… |
Xk |
… |
Xn |
|
X1 |
B1 |
1 |
… |
0 |
… |
0 |
A1,m+1 |
… |
A1,k |
… |
A1,n |
|
X2 |
B2 |
0 |
… |
0 |
… |
0 |
A2,m+1 |
A2,k |
… |
A2,n |
||
. |
. |
… |
… |
… |
… |
… |
… |
… |
… |
… |
… |
|
Xi |
Bi |
0 |
… |
1 |
… |
0 |
Ai,m+1 |
… |
Ai,k |
… |
Ai,n |
|
… |
… |
… |
… |
… |
… |
… |
… |
… |
… |
… |
… |
|
Xm |
Bm |
0 |
… |
0 |
… |
1 |
Am,m+1 |
… |
Am,k |
… |
Am,n |
|
F (X) |
C0 |
0 |
… |
0 |
… |
0 |
Cm+1 |
… |
Ck |
… |
Cn |
Замечание: В простейшем случае в качестве базисных переменных можно взять такие m переменных, каждая из которых входит только в одно ограничение, причем с положительным знаком, а все свободные члены bi>0.
Оптимизационные исследования задач ЛП удобно проводить, пользуясь симплекс-таблицами. Существует достаточно большое количество форм симплекс-таблиц. Воспользуемся одной из форм, по которой рекомендуется следующий алгоритм симплекс-метода:
Подобные документы
Решение задачи средствами Паскаль и блок-схемы выполненных процедур, составление программы. Результаты решения задачи по перевозке грузов. выполнение задачи средствами MS Excel, создание таблиц. Порядок и особенности решения задачи в среде MathCAD.
курсовая работа [2,5 M], добавлен 27.02.2011Использование информационных технологий для решения транспортных задач. Составление программ и решение задачи средствами Pascal10; алгоритм решения. Работа со средствами пакета Microsoft Excel18 и MathCad. Таблица исходных данных, построение диаграммы.
курсовая работа [749,1 K], добавлен 13.08.2012Краткая характеристика пакета Mathcad, описание простейших примеров работы с ним, примеры решения основных задач элементарной математики. Компьютерные технологии решения математических задач и символьных вычислений. Образование векторов и матриц.
дипломная работа [621,1 K], добавлен 11.03.2011Структура программы Pascal и алгоритмы решения задач. Работа с циклическими операторами, массивами, процедурами. Составление блок-схем задач. Операции над матрицами в программе MathCad. Работа формулами, графиками и диаграммами в оболочке MS Excel.
курсовая работа [459,0 K], добавлен 13.08.2012Изучение структуры рабочего документа MathCad - программы, предназначенной для автоматизации математических расчетов. Работа с переменными, функциями и матрицами. Применение MathCad для построения графиков, решения уравнений и символьных вычислений.
презентация [639,2 K], добавлен 07.03.2013Основные элементы системы MathCAD, обзор ее возможностей. Интерфейс системы, концепция построения документа. Типы данных, входной язык системы. Классификация стандартных функций. Графические возможности системы MathCAD. Решение уравнений системы.
курс лекций [2,1 M], добавлен 01.03.2015Краткая историческая справка и описание современной версии системы. Основные возможности современной версии MathCad, ее интерфейс. Ввод и редактирование выражений, функции, решение уравнений. Использование Mathcad для решения инженерно-технических задач.
курсовая работа [2,8 M], добавлен 04.04.2014Возможности Mathcad для выполнения математических и технических расчетов. Графический интерфейс, инструменты для работы с формулами, числами, графиками и текстами. Операторы и логические функции для численного и символьного решения математических задач.
статья [208,6 K], добавлен 01.05.2010Понятие математической модели и моделирования. Общие сведения о системе MathCad. Структурный анализ задачи в MathCAD. Режим непрерывных символьных преобразований. Оптимизация численных вкладок через символьные преобразования. Расчет опорной реакции.
курсовая работа [649,5 K], добавлен 06.03.2014Расчеты по таблице перевозок грузов между отдельными регионами. Решение задачи управления процессами перевозок в среде Pascal. Решение задачи средствами MS Excel. Исходные данные и итоги по строкам и столбцам. Решение задачи средствами MATHCAD.
курсовая работа [1,8 M], добавлен 25.03.2015