на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Графический метод решения задачи линейной оптимизации в трехмерном случае
осле изучения теоретического курса необходимо научиться работать с данной информацией и понять, что именно подразумевалось под тем или иным определением. Известно, что гораздо лучше воспринимается человеком именно графическая информация. А потому, избавив от сложных арифметических вычислений от необходимости представить сложную геометрическую фигуру, а, тем более, ее сечения, обучаемый получает правильную картину всего происходящего и работает непосредственно с различными методами. Таким образом, у преподавателя освобождается от необходимости наглядной демонстрации задачи и метода ее решения, а может и от своего непосредственного участия в обучении.

2 Описание программы

2.1 Общие сведения

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

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

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

Поскольку алгоритм построения связан с расчетом двумерной задачи, то тут же имеется и двумерное графическое решение, в котором диалог пользователь проистекает точно также, только вместо VRML-объекта возвращается картинка (с областью и линией уровня) в формате PNG.

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

При желании, получившийся HTML-документ можно распечатать и использовать в качестве отчета о проделанной лабораторной работе. К сожалению, в VRML-браузере отсутствует возможность печати, видимо из-за того, что виртуальные миры имеют возможность видоизменяться со временем, но это поправимо посредством копирования документа, например, в документ Word и вставкой туда снимка с экрана, как это сделано здесь (см. рисунок выше).

2.2 Используемые технические средства

Первым делом, для работы программы, необходимо серверное программное обеспечение, такое как Apache-сервер для систем Windows или Unix, или Microsoft IIS (Internet Information Server) для системы Windows. А также, интерпретатор языка Perl, и соответствующая настройка сервера и CGI-скриптов.

Помимо серверного необходимо и клиентское программное обеспечение: интернет-браузер и VRML-браузер (для работы с задачами отличными от трехмерного графического решения VRML-браузер не нужен).

Однако возможны более сложные решения. Одно из таких решений используется кафедрой «математическая кибернетика» Московского Авиационного Института. Имеется два сервера. Unix-сервер в роли интернет-сервера (dep805.mai.ru работающий в сети MAI NET) и Windows 2000 server, который также можно было бы использовать как интернет-сервер (он находится во внутри-кафедральной сети, которая, в свою очередь, не маршрутизируется в MAI NET из соображения безопасности). На Windows 2000 server`е установлена терминальная служба, позволяющая работать на машинах, начиная с 286-х компьютеров с видеокартой с памятью 256Kb, под терминалом. Таким образом, обеспечивается большое количество машин (ведь покупка новых машин требует больших финансовых затрат), на которых можно проводить лабораторные практикумы.

2.3 Описание основных алгоритмов

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

Эта задача решается путем сведения к более простому случаю, к двумерной задаче. Если рассмотреть каждую грань трехмерной области (т.к. задача линейная, область допустимых решений будет представлять собой выпуклый многогранник), то увидим, что каждая грань - это двумерная задача линейной оптимизации, где ограничениями являются линии пересечения плоскостей, ограничивающих исходную задачу. Таким образом, решив по двумерной задаче для каждого ограничения, получим конечный результат.

Для двумерного случая устанавливаются те же требования: произвольное количество линейных неравенств. В данном случае область допустимых решений будет выпуклый многоугольник. Найти точки пересечения ограничений - это лишь незначительная часть задачи. Для отображения области графически необходимо знать как упорядочить данные точки чтобы получить искомый выпуклый многоугольник.

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

Рассматриваем только активные ограничения образующие две различные точки пересечения с другими активными ограничениями.

Берем одну из этих точек и смотрим в результате пересечения каких ограничений она получена. Выберем одно из найденных ограничений.

Для найденного ограничения ищем вторую точку пересечения.

Ищем в результате пересечения с каким ограничением получена данная точка. Далее действуем согласно пункту 3, до тех пор, пока не вернемся к первой точке.

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

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

При сведении трехмерной задачи к двумерной определение замкнутости области и проще и сложней одновременно. Если есть грань не замкнутая, тогда и вся область не замкнутая. Но несовместность в получившейся двумерной задаче ни о чем не говорит, главное чтобы существовала хотя бы одна точка, тогда область допустимых решений будет совместна. Чтобы была только одна точка, необходимо чтобы все решения двумерных задач также имели только одну точку области или были несовместны. Если все полученные двумерные задачи несовместны, то несовместна и исходная задача. В остальном, область допустимых решений замкнута.

Используя полученные данные, остается только построить результирующую модель.

3 Использование программы в процессе обучения

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

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

3.1 Возможности администратора

3.2 Возможности пользователя

Для работы с программой понадобятся интернет, браузер и VRML-браузер, который можно достать через интернет.

Язык VRML был разработан специально для работы в сети интернет с трехмерной графикой, а потому, как и обычный HTML-документ требует специальную программу для просмотра. Обычный интернет-браузер понимает только «текстовые» документы, все остальное (графика, анимация, звук) обрабатывают дополнительные программы, подключаемые к нему. Так VRML-браузер подключается к обычному браузеру и работает вместе с ним в «симбиозе». Поскольку VRML-браузер по умолчанию не входит в установку, то его необходимо установить самостоятельно. Существуют три варианта:

Самый простой, если у вас Windows98, открываете "Панель управления", в ней "Установка и удаление программ", на закладке "установка Windows" надо выбрать "Средства интернета", а в ней "Просмотр Microsoft VRML". Ставите на последнем галочку и нажмите везде "OK", при этом вы потеряете 3,5Mb у вас на диске. Как показала практика - это самый неудачный выбор браузера особенно для работы с данной программой, т.к. каждый мир (трехмерная область допустимых решений) создается динамически, и данные о нем передаются через командную строку, то при длине последней, превышающей, приблизительно, 220 символов, выполняет недопустимую ошибку. Возможно с новой версией Internet Explorer`a поставляется исправленный VRML браузер (он поставляется "в нагрузку" с дистрибутивом Internet Explorer`a, из которого, ради экономии места, удаляется распространителями). Это не единственный недостаток браузера от Microsoft, например, при включении аппаратного ускорения или DirectX теряются некоторые свойства объектов, такие как прозрачность.

Браузер Cortona фирмы ParallelGraphics, загрузите и запустите, следуйте инструкциям и у вас не возникнет ни каких проблем. Данная программа разрабатывалась в расчете именно на этот браузер, т.к. фирма ParallelGraphics позаботилась о документации к своему браузеру, как для пользователя, так и для программиста, не говоря уже о качестве испонения.

Браузер Cosmo Player фирмы CosmoSoftware. Входит в поставку Netscape Navigator, но существует и отдельно.

VRML-браузер позволяет вам попасть в трехмерный мир в сети Internet, перемещаться в нем и перемещать его относительно себя. В окне браузера выделяются две части:

1. панели инструментов: вертикальная панель, которая содержит кнопки, определяющие тип навигации в виртуальном мире; горизонтальная панель, на которой расположены кнопки, выполняющие определенные действия по изменению позиции в мире;

2. 3D-OKHO, в котором, собственно, и отображается VRML-мир (рис. 2.2).

Кроме того, имеются раскрывающиеся меню, которые вызываются нажатием правой кнопки мыши в тот момент, когда указатель мыши расположен над одной из инструментальных панелей или над 3D-OKHOМ.

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

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

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

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

Браузер предоставляет три основных режима перемещения в мире: WALK. (ходить пешком), FLY (летать) и STUDY (исследовать). Между ними можно переключаться при помощи кнопок на вертикальной панели инструментов.

Каждый режим перемещения может сочетаться с одним из четырех модификаторов: PLAN, PAN, TURN и ROLL. Комбинацией режима перемещения и модификатора и определяется способ движения камеры и ее ориентация.

Перемещаться можно при помощи мыши, клавиатуры или их сочетания. Для того чтобы перемещаться при помощи мыши:

* выберите режим перемещения;

* расположите указатель мыши где-либо в 3D-окне и нажмите левую кнопку мыши;

* перемещайте мышь, не отпуская кнопки. Направление, в котором вы перемещаете указатель мыши, определяет движение камеры.

Для того чтобы остановиться, отпустите кнопку мыши.

PLAN

PAN

TURN

ROLL

WALK

Движение в горизонтальной плоскости

Движение налево или направо в горизонтальной плоскости

Изменение угла, под которым камера смотрит на мир

FLY

Движение налево и направо

Движение вверх, вниз, направо или налево в вертикальной плоскости

Поворот камеры

Наклон камеры

STUDY

Исследование объекта под разными углами

Исследование объекта под разными углами

Наклон камеры

Страницы: 1, 2, 3, 4



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.