Графический метод решения задачи линейной оптимизации в трехмерном случае

Тип работы:
Курсовая
Предмет:
Программирование


Узнать стоимость

Детальная информация о работе

Выдержка из работы

Введение

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

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

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

Первые попытки внедрить компьютер в обучение были сделаны еще в 50-х годах, когда в качестве устройства ввода/вывода использовался телеграфный аппарат. В течение последующих 40-лет ведутся непрерывные интенсивные исследования в этой области. За это время компьютерная техника изменилась, стала более совершенной, появились персональные компьютеры, микрокомпьютеры. Разработано программное обеспечение, обеспечивающее довольно широкое использовать технические возможности компьютера. Снижение стоимости компьютерной техники позволило внедрить ее в образовательных учреждениях. Теперь компьютеры пошли в школы, институты и в количественном выражении Компьютеризация образования идет высокими темпами: в отдельных странах число школьных компьютере составляет уже десятки и сотни тысяч, а в США — миллионы. И в нашей стране школьники старших классов уже в течение семи лет изучают такой предмет как информатика, знакомятся с компьютерами и основами работы на них. Однако, обучение с помощью компьютера остается малоэффективным. Основная причина состоит в том, что разработчики автоматизированных обучающих систем преследуют цель компьютеризация обучения ради самой компьютеризацию! Мало внимания уделяется дидактике.

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

В настоящее время уже создано множество средств обучения с помощью компьютера. Их можно квалифицировать следующим образом: компьютерные учебники, предметно-ориентированные среды (микромиры, моделирующие программы, учебные пакеты), лабораторные практикумы, тренажеры, контролирующие программы.

1 НАЗНАЧЕНИЕ ОБУЧАЮЩЕЙ ПРОГРАММЫ

1.1 Обзор существующих обучающих средств и методов

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

Идея обучения с помощью компьютера появилась давно. Первые попытки относятся к концу 50-х годов. В то время уже имелась возможность «общения» человека с компьютером посредством используемого в качестве устройства ввода/вывода телеграфного аппарата-телетайпа. Надлежащим образом запрограммированный компьютер заносит в свою память набираемый человеком на клавиатуре телетайпа текст запроса, а по окончании ввода этого текста производит некоторый анализ его и печатает на телетайпе заранее заготовленный, или конструируемый из подходящих элементов текст ответа. Или проще — компьютер выдает на телетайп текст вопроса или условия задачи и ждет ввода с клавиатуры ответа, который затем сверяется с имеющимся эталоном, чтобы выдать оценку: верно/неверно. С тех пор во всем мире ведутся непрерывные научные поиски решения проблемы эффективного и дешевого способа обучения с помощью компьютера.

Проблему дороговизны попробовали решить в 70-е годы специалисты Иллинойского университета. Их силами была создана поражавшая своими техническими возможностями суперсистема PLATOIY. Каждому учащемуся здесь был предоставлен уже не телетайп, а комфортабельный терминал с плазменным дисплеем, обеспечивающим выдачу произвольного текста, графики и цветных кадров с микрофишей в сопровождении звука. Расчеты на низкую стоимость системы не оправдались и после проведенных испытаний в условиях обучения школьным предметам выявилась сложность, дидактическая неэффективность и трудоемкость подготовки учебных материалов. Создание компьютерных систем обучения приняло широкий размах и в связи с этим говорили о революции в образовании. Но в действительности существенного влияния на практику обучения разрабатываемые системы не оказали, и ни одна из них не получила сколько-нибудь значительного применения: системы создавались сами по себе, а обучение людей производилось с помощью книг и лекций. С появлением массового производства недорогих и удобных в использовании микрокомпьютеров, компьютеризация в настоящее время в количественном выражении идет высокими темпами.

В конце 80-х годов проблемной лабораторией электронных вычислительных машин Московского государственного университета была создана микрокомпьютерная система обучения «Наставник». Эта система предназначена для обучения предметам теоретического характера в вузах, техникумах, профессионально-технических училищах, общеобразовательных школах, центрах подготовки, переподготовки и повышения квалификации кадров на предприятиях. Типовой вариант системы рассчитан на обучение одновременно до 32 учащихся, обслуживаемых одним микрокомпьютером. Система проста и удобна в управлении, не требует специальной подготовки преподавателей и удобна для обучаемых. Все общение с компьютером происходит по подсказкам и контролем с его стороны. В состав аппаратуры системы входит микрокомпьютер общего назначения, дисплей с клавиатурой, гибкий магнитный диск или магнитная лента, принтер, специализированное оборудование для связи учащихся и преподавателя с компьютером, включающее мини терминалы, источники электропитания мини терминалов и контроллер для сопряжения их с микрокомпьютером, систему кабелей. Программное обеспечение системы состоит из пяти частей. Три части, «Обучение», «Экзамен», «Тест», обеспечивают возможность проведения соответствующих занятий. Существуют еще две служебные подсистемы — подготовки управляющей информации и обработки протоколов. Программное оснащение реализовано и функционирует в диалоговой системе структурированного программирования. ДССП, которая после ее начальной загрузки, обеспечивает всю дальнейшую работу. По вводимым с клавиатуры командам производится дозагрузка требуемой подсистемы и ввод управляющей информации. Далее система работает не обращаясь к внешней памяти. И только в конце занятия согласно вводимым командам производит распечатку и (или) запись в архив протокола. Алгоритмы функционирования основных подсистем разработаны так, что обеспечивают управление обучением и проведение экзаменов или тестов независимо от конкретного содержания учебных материалов, т. е. пригодны для автоматизированных занятий по любым предметам. Работа подсистемы «Обучение» заключается в предоставлении учебных материалов, разбитых на секции, и назначении упражнений по каждому разделу, в случае неверных ответов обучаемому выдается справка, поясняющая суть ошибки и отсылающая к необходимому абзацу инструктивного текста. В отдельных случаяx назначаются дополнительные упражнения. В случае успешного ответа на все вопросы по разделу обучаемый переходит к изучению следующей секции. В случае неверного ответа — возврат в предшествующую секцию или отправка к преподавателю. Подсистемы «Экзамен» и «Тест» предназначены для контроля знаний и умений. В режиме «Экзамен» обучаемый получает от преподавa- теля набор секций, в которых получает определенное преподавателем число упражнений с ограниченным числом попыток ответов. Верные ответы подтверждаются, а неверные отрицаются, однако справки не выдаются. «Тест» отличается от «Экзамена» тем, что каждый учащийся отвечает на все имеющиеся в учебном материале вопросы, причем попытка ответа предоставляется только одна. Ответы не подтверждаются и не отрицаются. Вся работа учащегося протоколируется. Учебно-методическое оснащение наименее фиксировано и наиболее открыто для наращивания и развития. Жестко определены только форматы и правила оформления учебных материалов. Никаких ограничений по тематике и содержанию учебных материалов, равно как и методик или дидактических приемов, кроме необходимости выражаться в форме множественного выбора, нет. Подробнее о микрокомпьютерной системе «Наставник» можно прочитать в [1].

В период с 1991 по 1994 годы Российским НИИ информационных систем по заданию государственного комитета высшей школы России были проведены четыре конкурса «Электронный учебник», В результате этих конкурсов в фонде РосНИИ ИС накоплено более 150 компьютерных обучающих программ готовых к распространению на IBM PC и совместимых с ними. Их классификация и краткая характеристика, применяемых в них методов подробнее приведена в [2] Среди этих программ можно выделить следующие основные группы: инструментальные системы, прикладные пакеты, учебные пакеты. Инструментальные среды предназначены для создания компьютерных обучающих программ. Они сокращают трудоемкость при создании этих программ, то же время дают возможность легко участвовать в разработке программ преподавателям, не являющимся квалифицированными программист ми. Примерами отечественных инструментальных сред могут служить такие системы как «Адонис», «Урок», «Аосмикро», «Сценарий» и др. Недостатком таких систем является то, что они дорогостоящи. Кроме того, для эффективного применения инструментальных систем необходимо привлечение стабильной группы специалистов, что создает определенные трудности. Обучающие программы могут создаваться на базе прикладных пакетов, которые позволяют преобразовывать математические выражения, производить вычисления, строить графики, обрабатывать экспертные данные и т. п. … По сравнению с инструментальными средами прикладные пакеты дешевле, более универсальны, доступны широкому кругу пользователей. Альтернативой прикладным пакетам могут служить учебные пакеты.

В общем случае компьютерные программы учебного назначения можно разбить на следующие группы:

1) компьютерные учебники;

2) предметно-ориентированные среды (микромиры, моделирующие программы, учебные пакеты);

3) лабораторные практикумы;

4) тренажеры;

5) контролирующие программы;

Проблема практического применения ЭВМ в учебном процессе продолжает стоять и сейчас. Важно использовать все новейшие достижения науки и техники для более эффективного обучения школьников, студентов, специалистов самых разных специальностей. На кафедре «математическая кибернетика» Московского Авиационного Института уже много лет ведется разработка подобных приложений. Там были разработаны и используются компьютерные программы по каждой из выше перечисленных групп.

1.2 Постановка задачи

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

1.2.1 Выбор технических средств и программного обеспечения

Для реализации данного программного продукта были выбраны языки программирования: Perl, на котором выполнена основная часть программы, обеспечивающая все необходимые расчеты; VRML — язык моделирования виртуальной реальности, обеспечивающий наглядное представление задачи; HTML, обеспечивающий диалог пользователя с компьютером. Эти языки позволяют работать с данной программой из любой точки мира, при наличии компьютера и выхода в мировую сеть Internet, и не зависеть от операционной системы.

Выбор языков VRML и HTML следует из использования языка Perl и возможного использования сети Internet, в то время как Perl удобен для решения любых задач и не зависит от операционной системы сервера (данная программа представляет клиент-серверное приложение). В отличие от языка PHP, который, в принципе удовлетворяет выше перечисленным требованиям, он имеет возможность подключения дополнительных модулей, которых было разработано огромное количество для самых различных целей, например для работы как CGI приложение, а также для работы с графикой и др.

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

Разрабатываемая программа предназначена для обучения графическому методу решения задач линейной оптимизации студентов любых факультетов, изучающих дисциплину «методы оптимизации». В данном практикуме отсутствует теоретический курс, которых было разработано огромное количество различными ВУЗами, в том числе и кафедрой «математическая кибернетика» Московского Авиационного Института.

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

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

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

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

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

Для решения задачи линейной оптимизации необходимы лишь два типа перемещения: FLY и STUDY. Эти два типа перемещения гарантируют полный обзор области. По умолчанию включен режим STUDY для исследования объекта под разными углами.

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

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

Рассмотрим графический метод решения ЗЛП для произвольной задачи:

при условии

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

Решить основную задачу графическим методом можно только для случая n = 3

В этой задаче множество допустимых решений определяется ограничениями вида:

и является множеством выпуклым и замкнутым. Для определения границ множества Х постройте прямые с уравнениями:

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

Если множество Х пусто, то задача не имеет решения.

2) Построить прямую (плоскость) с уравнением

(это линия (поверхность) уровня для функции f (x)), определить градиент

и построить этот вектор в любой точке плоскости f=0.

3) Перемещая плоскость f=0 в направлении градиента

Определить оптимальное решение как вершину (грань) наиболее удаленную от плоскости f=0.

Если прямая f=0 совпала с одной из граней, то в этом случае ЗЛП имеет бесчисленное множество решений.

В случае, если при движении вдоль градиента линия уровня не совпала ни с одной из крайних точек и ни с одной из граней этого множества, то в этом случае ЗЛП решений не имеет.

Пункт 1) обеспечивает серверная часть программы, рассчитывая область допустимых решений и создавая ее модель на языке VRML. Туда же помещается поверхность уровня, рассчитанная согласно пункту 2). И, наконец, согласно пункту 3), линия уровня самостоятельно перемещается от минимального значения к максимальному в направлении градиента. Сделать вывод придется самостоятельно из предложенного списка вариантов. Если был выбран правильный ответ, программа подтвердит это, выведя численное значение ответа. В случае неверного ответа будет предложено вернуться назад для повторного выбора ответа.

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

4 Организационно-экономическое обоснование проекта

В этой главе произведен расчет затрат на разработку данного программного комплекса

4.1 Краткая характеристика работы и её назначение

Данная работа нацелена на помощь в обучении и автоматизации учебного процесса. В результате внедрения разработанного комплекса программ ожидается повышение качества и скорости обучения студентов, а также облегчение труда преподавательского состава.

4.2 Определение затрат на создание программного продукта

Затраты на создание программного продукта складываются из расходов по оплате труда разработчика программы и расходов по оплате машинного времени при отладке программы:

Зспп = Ззпспп + Змвспп + Зобщ,

где

Зспп — затраты на создание программного продукта;

Ззпспп — затраты на оплату труда разработчика программы;

Змвспп — затраты на оплату машинного времени;

Зобщ — общие затраты.

4.2.1 Расходы на оплату труда разработчика программы

Расходы на оплату труда разработчика программы определяются путем умножения трудоёмкости создания программного продукта на среднюю часовую оплату программиста (с учётом коэффициента отчислений на социальные нужды):

Ззпспп=t * Tчас.

4.2.1.1 Расчёт трудоёмкости создания программного продукта

Трудоёмкость разработки программного продукта можно определить следующим образом:

t = t о+ tа + tб + tп + tд + tот

где

tо — затраты труда на подготовку описания задачи;

tа — затраты труда на разработку алгоритма решения задачи;

tб — затраты труда на разработку блок-схемы алгоритма решения задачи;

tп — затраты труда на составление программы по готовой блок-схеме;

tд — затраты труда на подготовку документации задачи;

tот — затраты труда на отладку программы на ЭВМ при комплексной отладке задачи;

Составляющие затрат, в свою очередь можно вычислить через условное число операторов Q. В нашем случае число операторов в отлаженной программе Q = 4000.

4.2.1.1.1 Расчёт затрат труда на подготовку описания

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

tи = Q * B /(75… 85 * K),

где

B — коэффициент увеличения затрат труда вследствие недостаточного описания задачи, уточнений и некоторой не доработки, B=1,2… 5;

K — коэффициент квалификации разработчика, для работающих до 2 лет К=0. 8;

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

Таким образом, получим

tи = 4000 * 4/(80 * 0. 8) = 250 (чел-час)

4.2.1.1.2 Расчёт затрат труда на разработку алгоритма

Затраты труда на разработку алгоритма решения задачи:

tа = Q/(60… 75 * K) = 4000/(70*0. 8) = 71. 43(чел-час)

4.2.1.1.3 Расчёт затрат труда на разработку блок-схемы

Затраты труда на разработку блок-схемы алгоритма решения задачи вычислим следующим образом:

tб = Q /(60… 75 * K) = 4000/(70*0. 8) = 71. 43(чел-час)

4.2.1.1.4 Расчёт затрат труда на составление программы

Затраты труда на составление программы по готовой блок-схеме вычислим по формуле:

tп = Q/(60… 75 * K) = 4000/(70*0. 8) = 71. 43(чел-час)

4.2.1.1.5 Расчёт затрат труда на отладку программы

Затраты труда на отладку программы на ЭВМ при комплексной отладке задачи:

tот = 1.5 * tAот ,

где

tAот — затраты труда на отладку программы на ЭВМ при автономной отладке одной задачи;

tAот = Q/(40… 50 * K) = 4000/(45*0. 8) = 111. 11(чел-час)

Отсюда

tот = 1. 5*111. 11 = 166. 67(чел-час)

4.2.1.1.6 Расчёт затрат труда на подготовку документации

Затраты труда на подготовку документации по задаче определяются:

tд = tдр + tдо

где

tдр — затраты труда на подготовку материалов в рукописи;

tдо — затраты на редактирование, печать и оформление документации;

tдр = Q/(150… 200 * K) = 4000/(200*0. 8) = 25(чел-час);

tдо = 0. 75 * tдр = 0. 75*25 = 18. 75(чел-час);

Отсюда

tд = 18. 75 + 25 = 43. 75(чел-час).

Итак общую трудоёмкость программного продукта можем рассчитать:

t = 250+71. 43+71. 43+71. 43+43. 75+166. 67 = 674. 71(чел-час)

4.2.1.2 Расчёт средней зарплаты программиста

Средняя зарплата программиста в современных рыночных условиях может варьироваться в широком диапазоне. Для расчёта возьмём среднюю часовую оплату труда, которая составляет Тчас = 10 руб/час, что составляет 1760 руб/мес при 8-ми часовом рабочем дне и 5-ти дневной рабочей неделе. Эта цифра близка к реальной заработной плате программиста на предприятии, где проводилась работа.

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

пенсионный фонд (29%),

медстрах (3. 6%),

соцстрах (5. 4%),

фонд занятости (1. 5%),

сбор на образование (1%).

Итого отчисления на социальные нужды составляют 40. 5%. Отсюда затраты на оплату труда программиста составляют:

Ззпспп = 674. 71 * 10 * 1. 405= 9479. 68 руб

4.2.2 Затраты на оплату машинного времени

Затраты на оплату машинного времени при отладке программы определяются путём умножения фактического времени отладки программы на цену машино-часа арендного времени:

Змвспп = Счас * t эвм

где

Счас — цена машино-часа арендного времени, руб/час;

tэвм — фактическое время отладки программы на ЭВМ

4.2.2.1 Расчёт фактического времени отладки

Фактическое время отладки вычислим по формуле:

tэвм = tп + tдо + tот;

tэвм = 71. 43 +18. 75 +166. 67= 256. 85 часа

4.2.2.2 Расчёт цены машино-часа

Цену машино-часа найдём по формуле:

Счас = Зэвмэвм ,

где

Зэвм — полные затраты на эксплуатацию ЭВМ в течении года;

Тэвм — действительный годовой фонд времени ЭВМ, час/год

4.2.2.2.1 Расчёт годового фонда времени работы ПЭВМ IBM PC AT

Общее количество дней в году — 365.

Число праздничных и выходных дней — 119.

Время простоя в профилактических работах определяется как еженедельная профилактика по 4 часа.

Итого годовой фонд рабочего времени ПЭВМ составляет:

Тэвм = 8*(365−119) — 52*4 = 1760 часа

4.2.2.2.2 Расчёт полных затрат на эксплуатацию ЭВМ

Полные затраты на эксплуатацию ЭВМ можно определить по формуле

Зэвм = (Ззп + Зам + Зэл + Звм + Зтр + Зпр)

где

Ззп — годовые издержки на заработную плату обслуживающего персонала, руб/год;

Зам — годовые издержки на амортизацию, руб/год;

Зэл — годовые издержки на электроэнергию, потребляемую ЭВМ, руб год;

Звм — годовые издержки на вспомогательные материалы, руб год;

Зтр — затраты на текущий ремонт компьютера, руб год;

Зпр — годовые издержки на прочие и накладные расходы, руб год

4.2.2.2.2.1 Амортизационные отчисления

Сумма годовых амортизационных отчислений определяется по формуле:

Зам = Сбал * Нам

где

Сбал — балансовая стоимость компьютера, руб/шт. ;

Нам — норма амортизации, %;

Согласно постановления совета министров СССР от 22 октября 1990 года № 1072 «#G0О единых нормах амортизационных отчислений на полное восстановление основных фондов народного хозяйства СССР» Нам = 12. 5%.

Балансовая стоимость ПЭВМ включает отпускную цену, расходы на транспортировку, монтаж оборудования и его наладку:

Сбал = Срын + Зуст

где

Срын — рыночная стоимость компьютера, руб/шт. ,

Зуст — затраты на доставку и установку компьютера, руб/шт.

Компьютер, на котором велась работа, был приобретен по цене Срын = 9000 руб, затраты на установку и наладку составили примерно 10% от стоимости компьютера

Зуст = 10% * Срын = 0.1 * 9000 =900 руб.

Отсюда

Сбал = 9000 + 900 = 9900 руб. /шт.

а Зам = 9900 * 0. 125= 1237.5 руб/год

4.2.2.2.2.2 Расчёт затрат на электроэнергию

Стоимость электроэнергии, потребляемой за год, определяется по формуле:

Зэл = Рэл * Тэвм * Сэл * А,

где

Рэвм — суммарная мощность ЭВМ,

Сэл — стоимость 1кВт*ч электроэнергии,

А — коэффициент интенсивного использования мощности машины.

Согласно техническому паспорту ЭВМ Рэвм = 0. 22 кВт, стоимость 1кВт*ч электроэнергии для предприятий Сэл = 0. 548 руб., интенсивность использования машины, А = 0. 98.

Тогда расчётное значение затрат на электроэнергию:

Зэл = 0. 22*1760*0. 548*0. 98 = 207. 94 руб.

4.2.2.2.2.3 Расчёт затрат на текущий ремонт

Затраты на текущий и профилактический ремонт принимаются равными 5% от стоимости ЭВМ:

Зтр = 0. 05 * Сбал = 0. 05*9900 = 495 руб.

4.2.2.2.2.4 Расчёт затрат на вспомогательные материалы

Затраты на материалы, необходимые для обеспечения нормальной работы ПЭВМ составляют около 1% от стоимости ЭВМ:

Звм = 0. 01*9900 = 99 руб.

4.2.2.2.2.5 Прочие затраты по эксплуатации ПЭВМ

Прочие косвенные затраты, связанные с эксплуатацией ПЭВМ, состоят из амортизационных отчислений на здания, стоимости услуг сторонних организаций и составляют 5% от стоимости ЭВМ:

Зпр = 0. 05*9900 = 495 руб.

4.2.2.2.2.6 Годовые издержки на заработную плату обслуживающего персонала

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

Ззп = Зоснзп + Здопзп + Зотчзп

Сумма основной заработной платы определяется исходя из общей численности работающих в штате:

Зоснзп = 12*Зiокл

где

Зiокл — тарифная ставка i-го работника в месяц, руб. ;

В штат обслуживающего персонала должны входить инженер-электронщик с месячным окладом 1000 руб. и электрослесарь с окладом 500 руб.

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

Зоснзп = 12*(1000 + 500)/10 = 1800 руб.

Сумма дополнительной заработной платы составляет 60% от основной заработной платы:

Здопзп = 0. 6*1800 = 1080 руб.

Сумма отчислений на социальные нужды составляет 40. 5% от суммы дополнительной и основной заработных плат:

Зотчзп = 0. 405*(1800 + 1080) = 1166.4 руб.

Тогда годовые издержки на заработную плату обслуживающего персонала составят:

Ззп = 1800 + 1080 +1166. 4= 4046.4 руб.

Полные затраты на эксплуатацию ЭВМ в течении года составят:

Зэвм = 4046. 4+1237. 5+207. 94+99+495+495= 6580. 84 руб.

Тогда цена машино-часа арендуемого времени составит

Счас = 6580. 84 / 1760 = 3. 74 руб.

А затраты на оплату машинного времени составят:

Змвспп = 3. 74 * 256. 85 = 960. 62 руб.

4.2.3 Расчёт общих расходов

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

Тогда затраты на создание программного продукта составят:

Зспп =9479. 68 + 960. 62 + 2249. 03= 12 689. 33 руб.

4.3 Выводы

В результате расчета затраты на создание данного программного продукта составили 12 689. 33 руб. Данная цифру сложно оценить, так как имеющиеся на рынке подобные продукты слишком специфичны и количество их очень мало. Но можно предположить, что для потенциальных покупателей, которыми являются в основном учебные заведения, обычно стесненные в средствах, она окажется достаточно большой. Для снижения затрат можно предложить следующие решения. Как видно, три четверти расходов представляют из себя затраты на оплату труда программиста. Снизить эти затраты можно путем повышения эффективности труда программиста за счет использования более современных ЭВМ для работы, повышения удобства рабочего места и прочих факторов. Например, при замене использовавшегося при разработке компьютера Pentium-166 на более современный Pentium II-300 время составления программы и ее отладки сократилось бы почти вдвое, а цена машино-часа выросла бы приблизительно на 20%. Также при более бережном и аккуратном отношении к компьютерной технике возможно снизить затраты на ремонт, а так же уменьшить привлечение дополнительного персонала на обслуживание компьютеров.

5 Охрана труда и окружающей среды

5.1 Введение

Персональные компьютеры используются миллионами людей во всем мире -- программистами, операторами и просто пользователями -- в процессе повседневной деятельности. Поэтому среди гигиенических проблем современности проблемы гигиены труда пользователей ПЭВМ относятся к числу наиболее актуальных, так как непрерывно расширяется круг задач, решаемых ПЭВМ, и все большие контингенты людей вовлекаются в процесс использования вычислительной техники.

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

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

5.2 Основные характеристики изображения на экране

Монитор — это, как правило, единственное устройство, «лицом к лицу» с которым пользователь проводит не один год. Удобочитаемость информации на экране зависит от четкости элементов изображения. Основными параметрами изображения на экране монитора являются яркость, контраст, размеры и форма знаков, отражательная способность экрана, наличие или отсутствие мерцаний.

Яркость изображения (имеется в виду яркость светлых элементов, т. е. знака для негативного изображения и фона для позитивного) нормируется для того, чтобы облегчить приспособление глаз к самосветящимся объектам. Ограничены также (в пределах (25%) и колебания яркости. Нормируется внешняя освещенность экрана (100 — 250 лк). Исследования показали, что при более высоких уровнях освещенности экрана зрительная система утомляется быстрее и в большей степени.

До сих пор спорным остается вопрос о том, что лучше для зрения: позитивное изображение (светлый экран и темные символы) или, наоборот, негативное изображение. И для того и для другого варианта можно привести доводы за и против. Гигиенисты считают, однако, что если работа с ПЭВМ предполагает одновременно и работу с бумажным носителем -- тетрадь, книга (то есть приходится попеременно смотреть на участки с позитивной и негативной полярностью), то лучше и на экране монитора иметь темные символы на светлом фоне, чтобы глазам не приходилось все время перестраиваться. При выборе цветовой гаммы предпочтение следует отдавать зелено-голубой части спектра. Опрос, проведенный в 1997 г. среди студентов Московской медицинской академии имени И. М. Сеченова, показал, что 66% пользователей предпочитают для длительной работы с видеотерминалом позитивное изображение, в основном вариант «голубой экран — черные символы».

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

Весьма часто фактором, способствующим быстрому утомлению глаз, становится и контраст между фоном и символами на экране. Понятно, что малая контрастность затрудняет различение символов, однако и слишком большая тоже вредит. Поэтому контраст должен находиться в пределах от 3:1 до 1,5:1. При более низких уровнях контрастности у работающих быстрее наступали неблагоприятные изменения способности фокусировать изображение и критической частоты слияния световых мельканий, регистрировалось больше жалоб на усталость глаз и общую усталость.

Человеческий глаз не может долго работать с мелкими объектами. Вот почему нормируются размеры знаков на экране. Например, угловой размер знака должен быть в пределах от 16 до 60 угловых минут, что составляет от 0,46 до 1,75 см, если пользователь смотрит на экран с расстояния 50 см (минимальное расстояние, рекомендуемое гигиенистами).

Гигиенистами отмечено, что чтение, в первую очередь у детей, значительно затруднено и быстро приводит к утомлению, если буквы имеют непривычные вычурные очертания. По этой причине врачи без энтузиазма относятся к повальному увлечению разнообразными шрифтами, особенно в образовательных программах для детей. Исследования зрения у школьников начальных классов показали, что при чтении текста, набранного шрифтом более сложного рисунка, у детей быстрее падает скорость чтения, чаще отмечается снижение критической частоты слияния световых мельканий. СанПиН включает несколько параметров, определяющих допустимую форму и размеры знака. В частности, нормируется отношение ширины знака к высоте (0,5−1,0, лучше 0,7−0,9), т. е. знаки не должны быть ни слишком узкими, ни слишком широкими. Удобочитаемость снижается, если растр изображения виден; увеличение матрицы знака (до 7*9) повышает удобочитаемость. Оптимальная величина знаков диктуется как достаточными для идентификации размерами, так и тем, что знаки не должны быть слишком большими, иначе при чтении слишком мало знаков попадает в поле зрения. Поскольку яркость, в принципе, меняется при каждом пробеге сканирующего луча, четкость символов определяется крутизной изменения яркости при пересечении контура символа.

Отражательная способность экрана не должна превышать 1%. Для снижения количества бликов и облегчения концентрации внимания корпус монитора должен иметь матовую одноцветную поверхность (светло-серый, светло-бежевый тона) с коэффициентом отражения 0,4−0,6, без блестящих деталей и с минимальным числом органов управления и надписей на лицевой стороне. Антибликовое покрытие уменьшает отражение внешнего света от стеклянной поверхности экрана. Различают несколько типов покрытия: например, специальная, рассеивающая световой поток, гравировка экрана; более эффективное кремниевое покрытие, часто применяемое в стеклянных фильтрах; особые виды устанавливаемых на кинескоп антибликовых панелей. Следует, однако, отметить, что первые два способа уменьшения отражающей способности экрана несколько снижают контрастность и ухудшают цветопередачу, поэтому мониторы с блестящими экранами обычно передают цвета ярче.

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

ПоказатьСвернуть
Заполнить форму текущей работой