Автор работы: Пользователь скрыл имя, 11 Июня 2013 в 10:40, курсовая работа
Данная курсовая работа имеет следующие цели:
– освоение пакета Mathematica 6.0, главным образом, функций для работы с графикой и анимационных средств;
– разработка инструментария, позволяющего пользователю, не имеющему глубоких познаний в области пакета, осуществить (по шагам) построение множества точек, отвечающих системе неравенств в 2-х и 3-хмерных пространствах, и проанализировать этот процесс.
Введение…………………………………………………………………………...3
Постановка задачи……………………………………………………………….4
Примеры построения множества решений системы………………………….6
Примеры параметрического семейства………………………………………22
Заключение………………………………………………………………………26
Литература………………………………………………………………………27
Построение множества решений
системы ограничений___________
Казанский Государственный Университет
Экономический факультет
Кафедра инноваций и инвестиций
Курсовая работа по теме:
«Построение множества решений системы ограничений в задаче условной минимизации»
Выполнил:
студент дневного отделения
экономического факультета гр. 1470
Бакулин Дмитрий Сергеевич
Руководитель:
Кашина Ольга Андреевна
Казань 2009г.
СОДЕРЖАНИЕ
Введение…………………………………………………………
Постановка задачи…………………………………
Примеры построения множества решений системы………………………….6
Примеры параметрического семейства………………………………………22
Заключение……………………………………………………
Литература……………………………………………………
ВВЕДЕНИЕ
Задача построения множества точек, отвечающих системе некоторых ограничений, возникает довольно часто. Например, это может быть допустимая область в задаче нелинейного программирования. В случае, когда размерность пространства, в которой заданы ограничения, не превышает 3, построения можно проиллюстрировать графически. Одним из наиболее удобных «инструментов» для этого является пакет Wolfram Research Mathematica. Версия 6.0 этого пакета содержит новые (отсутствовавшие в прежних версиях) средства векторной графики, анимационные функции, средства создания «слайд-шоу» и прочие возможности, позволяющие наглядно продемонстрировать процесс построения искомой области.
Данная курсовая работа имеет следующие цели:
– освоение пакета Mathematica 6.0, главным образом, функций для работы с графикой и анимационных средств;
– разработка инструментария, позволяющего пользователю, не имеющему глубоких познаний в области пакета, осуществить (по шагам) построение множества точек, отвечающих системе неравенств в 2-х и 3-хмерных пространствах, и проанализировать этот процесс.
ПОСТАНОВКА ЗАДАЧИ
Пусть заданы функции , множество D представляет собой множество решений системы неравенств
Обозначив через F(x) вектор-функцию, составленную из левых частей ограничений системы (1), то есть , запишем
В системе могут также присутствовать ограничения на знак переменных, а также ограничения, сформулированные в виде равенств. Кроме того, если не предполагается минимизация или максимизация целевой функции, а только лишь отыскание допустимой точки, возможно присутствие в системе строгих неравенств. (В этом случае, как известно из математического анализа, множество, вообще говоря, незамкнуто, и потому экстремум может не достигаться.)
Очевидно, что множество D есть пересечение областей (обозначим их ), отвечающих i-му ограничению в системе (1), . Если такая область отсутствует, то (система не имеет решений).
В зависимости от системы ограничений возможны следующие варианты: D ограниченное (неограниченное), замкнутое (незамкнутое, открытое), выпуклое (невыпуклое), связное (несвязное), пустое (непустое).
Графические и анимационные возможности пакета Mathematica 6.0 весьма широки. Рассмотрим их на примерах.
ПРИМЕРЫ ПОСТРОЕНИЯ МНОЖЕСТВА РЕШЕНИЙ СИСТЕМЫ
ПРИМЕР 1.
1) |
|
Множество решений этой системы выпуклое, замкнутое, ограниченное |
Результатом будет являться последовательность изображений:
На последнем рисунке изображена искомая область D.
Для построения допустимого множества мы использовали функцию RegionPlot, в ней воспользовались следующими параметрами:
PlotLabel – позволяет дать именование графику, например, PlotLabel->"Множество точек, отвечающих ограничению 1"
BoundaryStyle – стиль границы поля(цвет, толщина), например BoundaryStyle->Red здесь мы выбираем красный цвет для границы
PlotStyle – стиль графика: позволяет выбрать цвет, его прозрачность. Пример: PlotStyle->LightRed, устанавливаем светло-красный цвет для множества D
PlotRange – диапазон изменения значений переменных, задается при помощи числовых значений и внутренних параметров, функция Automatic позволяет центрировать множество. Так же можно установить Full (показывает те значения, которые мы задали в координатной сетке), All (размерность до которой стремится множество)
Mesh – координатная сетка, здесь можно задать разный уровень расчерченности при помощи числовых значений и параметров, например
числовые {{1.5, 2.0, 3.5},{3.0}} – будут расчерчены 3 линии по оси X1 и одна по x2. Так же можно задавать при помощи числа, как указано в примере. Можно поставить значение None, тогда сетки не будет, All обозначает полную расчерченность.
MeshStyle – стиль координатной сетки, здесь задается цвет, толщина, прозрачность
AspectRatio – служит для установления пропорций. Используется опция Automatic, которая позволяет сделать пропорции графика более правильными и числовые значения, которые показывают отношение одной координаты к другой.
Мы также использовали функцию пакета ListAnimate. Это позволило нам создать анимацию, показать все графики: сначала строятся множества точек, отвечающих каждому ограничению в отдельности, затем находится их пересечение.
Первый параметр функции ListAnimate – список всех ограничений, второй параметр – скорость просмотра (число кадров в секунду).
Функция SlideView позволяет нам перелистывать все кадры по одному.
ПРИМЕР 2.
|
Множество решений этой системы невыпуклое, замкнутое, неограниченное |
В рассмотрении данного примера мы использовали почти такие же опции, появилась лишь одна новая опция:
AxesLabel – позволяет подписывать оси координат
ПРИМЕР 3.
|
Множество решений этой системы выпуклое, незамкнутое, ограниченное |
Помимо упомянутых ранее параметров мы использовали еще один, отображающий незамкнутость множества. Для этого мы воспользовались параметром BoundaryStyle, в нем Directive (данная графическая директива позволяет совмещать сразу несколько установленных параметров) – это необходимо для использования нескольких функций этого параметра:
Thickness – показывает толщину границы поля, можно использовать как числовые, например 0.05, так и заданные значения. Medium означает, что выбрана средняя толщина. Также можно задавать значения Small и Large, соответственно, для тонкой и толстой линии.
Dashed – дает нам возможность выделить пунктиром границу поля, что как раз необходимо, чтобы показать незамкнутость множества.
ПРИМЕР 4.
|
Множество решений этой системы несвязное (а значит, невыпуклое), замкнутое, ограниченное |
В этом примере мы использовали параметр PlotPoints. Данная опция устанавливается при помощи числовых значений. Он позволяет сделать график более точным, но при этом Mathematica требует большего времени для его построения. Чем больше значение будет указано, тем точнее будет изображен график. Для примера можем построить множество допустимых решений с использованием этого параметра и настройкой по умолчанию.
В результате получим:
Сравнив два графика можно заметь, что на втором графике, где мы применили PlotPoints более правильные области активных ограничений. Данная директива настраивается только за счет численных значений. Мы использовали значение 100, это означает, что данная поверхность делится на 100 частей по каждой оси. Чем большее количество частей мы установим, тем точнее выстроится множество.
Так же были введены изменения в ListAnimate. Мы использовали функцию AnimatorElements. В результате у нас добавились новые кнопки для работы со слайдами. Написав All, мы использовали все кнопки, но существует возможность настроить каждую в отдельности.
ПРИМЕР 5.
|
Множество решений этой системы невыпуклое, замкнутое, ограниченное |
В этом примере помимо стандартных опций мы использовали PerfomanceGoal. Эта опция позволяет контролировать качество построения графика. Мы можем сделать график более качественным, указав параметр Quality, но у нас уйдет больше времени на построение. Параметр Speed позволяет строить график более быстро, но у нас теряется качество.
Для примера можно привести два графика с использованием параметров Speed и Quality. На приведенном ниже графике можно увидеть, как изменилось качество, когда мы использовали опцию Quality
Мы также изменили анимацию, использовав MenuView. Эта опция представляется в виде меню, где пользователь может выбрать необходимую область ограничений.
ПРИМЕР 6.
|
Множество решений этой системы задано в 3-х-мерном евклидовом пространстве. Оно является выпуклым, замкнутым, ограниченным. |
Для RegionPlot3D используются в основном те же параметры, что и для RegionPlot. Благодаря использованию опции Norm в раскраске и начертании сетки появляется возможность показать линии уровня множества. Примером этому может послужить Slide3. Данная операция была реализована при помощи чистой функции – Function. Для начертания сетки использовался параметр MeshFunction, который позволяет определить саму сетку. Параметр ColorFunction позволяет задать цвет. В нем мы использовали Hue – графическая директива, аналогична RGB.
Так же как и в примерах 2х мерной графики, мы используем PlotPoints для повышения качества графика. Особенно эта опция актуальна для начертания 3х мерного множества, так как 3х мерный график является сложным по структуре и в режиме по умолчанию получается сильно искаженным.
ПРИМЕРЫ ПАРАМЕТРИЧЕСКОГО СЕМЕЙСТВА
В пакете Mathematica существует возможность построения параметрического семейства множеств. Далее я построю два примера с одним и несколькими параметрами и покажу при помощи анимации, как они влияют на множество.
1.Пример влияния одного параметра:
На данном примере первоначально было показано каждое лебегово множество, заданное при помощи функций и их пересечение при фиксированном параметре a=5. Можно сделать вывод, что данное множество замкнуто, ограничено, невыпукло. Затем при меняющемся параметре a от 0 до 5. Для построения мы воспользовались функцией Manipulate, при помощи которой пользователь сам может менять значения за счет передвижения ползунка.
2.Пример влияния нескольких параметров:
На данном примере множество допустимых значений зависит от четырех параметров: n, m, p, s, где n, m, p принимают значение от 0 до 25, а s до 24. В функции Manipulate был использован параметр LocalizeVariables, позволяющий устанавливать переменные локальными и глобальными. При установки значения false, она становится глобальной, что позволяет нам в дальнейшем при использовании Dynamic (данный параметр позволяет динамически отображать значение переменных и функций), увидеть как будут меняться значения не только в графическом, но и в численном отображении.
ЗАКЛЮЧЕНИЕ
На рассмотренных примерах мы изучили средства векторной графики и анимационные возможности пакета Wolfram Research Mathematica и разработали (в среде пакета) текстовый интерфейс, облегчающий пользователю построение (и анализ) множества точек, отвечающих заданной системе ограничений.
Предполагается размещение электронной версии работы (файла в формате nb и текста курсовой работы) размещен на сайте кафедры экономической кибернетики КГУ (в разделе «Обучающие системы») для использования в учебном процессе и научной работе, проводимой на кафедре.
ЛИТЕРАТУРА
1. Обучающая система
по технологии работы в пакете
2. О.А. Кашина, Э.Ю. Лернер. «Пакет MATHEMATICA: практические сюжеты»
Информация о работе Построение множества решений системы ограничений в задаче условной минимизации