При решении задач методом динамического
программирования, как правило, используют
вычислительные машины, обладающие достаточным
объемом памяти для хранения промежуточных
результатов решения, которые обычно получаются
в табличной форме.
Принцип максимума применяют
для решения задач оптимизации процессов,
описываемых системами дифференциальных
уравнений. Достоинством математического
аппарата принципа максимума является
то, что решение может определяться в виде
разрывных функций; это свойственно многим
задачам оптимизации, например задачам
оптимального управления объектами, описываемыми
линейными дифференциальными уравнениями.
Нахождение оптимального решения
при использовании принципа максимума
сводится к задаче интегрирования системы
дифференциальных уравнений процесса
и сопряженной системы для вспомогательных
функций при граничных условиях, заданных
на обоих концах интервала интегрирования,
т. е. к решению краевой задачи. На область
изменения переменных могут быть наложены
ограничения. Систему дифференциальных
уравнений интегрируют, применяя обычные
программы на цифровых вычислительных
машинах.
Принцип максимума для процессов,
описываемых дифференциальными уравнениями,
при некоторых предположениях является
достаточным условием оптимальности.
Поэтому дополнительной проверки на оптимум
получаемых решений обычно не требуется.
Для дискретных процессов принцип
максимума в той же формулировке, что и
для непрерывных, вообще говоря, несправедлив.
Однако условия оптимальности, получаемые
при его применении для многостадийных
процессов, позволяют найти достаточно
удобные алгоритмы оптимизации.
Линейное программирование
представляет собой математический аппарат,
разработанный для решения оптимальных
задач с линейными выражениями для критерия
оптимальности и линейными ограничениями
на область изменения переменных. Такие
задачи обычно встречаются при решении
вопросов оптимального планирования производства
с ограниченным количеством ресурсов,
при определении оптимального плана перевозок
(транспортные задачи) и т. д.
Для решения большого круга
задач линейного программирования имеется
практически универсальный алгоритм -
симплексный метод, позволяющий за конечное
число итераций находить оптимальное
решение подавляющего большинства задач.
Тип используемых ограничений (равенства
или неравенства) не сказывается на возможности
применения указанного алгоритма. Дополнительной
проверки на оптимальность для получаемых
решений не требуется. Как правило, практические
задачи линейного программирования отличаются
весьма значительным числом независимых
переменных. Поэтому для их решения обычно
используют вычислительные машины, необходимая
мощность которых определяется размерностью
решаемой задачи.
Методы нелинейного программирования
применяют для решения оптимальных задач
с нелинейными функциями цели. На независимые
переменные могут быть наложены ограничения
также в виде нелинейных соотношений,
имеющих вид равенств или неравенств.
По существу методы нелинейного программирования
используют, если ни один из перечисленных
выше методов не позволяет сколько-нибудь
продвинуться в решении оптимальной задачи.
Поэтому указанные методы иногда называют
также прямыми методами решения оптимальных
задач.
Для получения численных результатов
важное место отводится нелинейному программированию
и в решении оптимальных задач такими
методами, как динамическое программирование,
принцип максимума и т. п. на определенных
этапах их применения.
Названием “методы нелинейного
программирования” объединяется большая
группа численных методов, многие из которых
приспособлены для решения оптимальных
задач соответствующего класса. Выбор
того или иного метода обусловлен сложностью
вычисления критерия оптимальности и
сложностью ограничивающих условий, необходимой
точностью решения, мощностью имеющейся
вычислительной машины и т.д. Ряд методов
нелинейного программирования практически
постоянно используется в сочетании с
другими методами оптимизации, как, например,
метод сканирования в динамическом программировании.
Кроме того, эти методы служат основой
построения систем автоматической оптимизации
- оптимизаторов, непосредственно применяющихся
для управления производственными процессами.
Геометрическое программирование
есть метод решения одного специального
класса задач нелинейного программирования,
в которых критерий оптимальности и ограничения
задаются в виде позиномов - выражений,
представляющих собой сумму произведений
степенных функций от независимых переменных.
С подобными задачами иногда приходится
сталкиваться в проектировании. Кроме
того, некоторые задачи нелинейного программирования
иногда можно свести к указанному представлению,
используя аппроксимационное представление
для целевых функций и ограничений.
Специфической особенностью
методов решения оптимальных задач (за
исключением методов нелинейного программирования)
является то, что до некоторого этапа оптимальную
задачу решают аналитически, т. е. находят
определенные аналитические выражения,
например, системы конечных или дифференциальных
уравнений, откуда уже отыскивают оптимальное
решение. В отличие от указанных методов
при использовании методов нелинейного
программирования, которые, как уже отмечалось
выше, могут быть названы прямыми, применяют
информацию, получаемую при вычислении
критерия оптимальности, изменение которого
служит оценкой эффективности того или
иного действия.
Важной характеристикой любой
оптимальной задачи является ее размерность
п, равная числу переменных, задание значений
которых необходимо для однозначного
определения состояния оптимизируемого
объекта. Как правило, решение задач высокой
размерности связано с необходимостью
выполнения большого объема вычислений.
Ряд методов (например, динамическое программирование
и дискретный принцип максимума) специально
предназначен для решения задач оптимизации
процессов высокой размерности, которые
могут быть представлены как многостадийные
процессы с относительно невысокой размерностью
каждой стадии.
Предполагается, что решение
оптимальной задачи для процессов, описываемых
системами конечных уравнений, определяется
как конечный набор значений управляющих
воздействий (статическая оптимизация
процессов с сосредоточенными параметрами),
а для процессов, описываемых системами
обыкновенных дифференциальных уравнений,
управляющие воздействия характеризуются
функциями времени (динамическая оптимизация
процессов с сосредоточенными параметрами)
или пространственных переменных (статическая
оптимизация процессов с распределенными
параметрами).
Классификация задач по группам
с числом независимых переменных, большим
и меньшим трех или равным трем как характеристика
размерности задач с большим и малым числом
переменных, разумеется, весьма условна
и в данном случае выбрана скорее из соображений
наглядности графического изображения
пространства изменения переменных задачи
- фазового пространства (при числе переменных
большем трех графическое изображение
фазового пространства обычными приемами
отсутствует). Тем не менее, такая классификация
до некоторой степени все же отражает
действительные трудности, возникающие
при решении задач с размерностью выше
трех.
Ниже представлены ГОСТ-ы которые
используются для описания алгоритмов,
программ, а так же их графического представления:
ГОСТ 19.002-80 - СХЕМЫ АЛГОРИТМОВ
И ПРОГРАММ. ПРАВИЛА ВЫПОЛНЕНИЯ
ГОСТ 19.003-80 - СХЕМЫ
АЛГОРИТМОВ И ПРОГРАММ.
ОБОЗНАЧЕНИЕ
УСЛОВНЫЕ ГРАФИЧЕСКИЕ
ГОСТ 19.101-77- ВИДЫ ПРОГРАММ И ПРОГРАММНЫХ
ДОКУМЕНТОВ
ГОСТ 19.106-78*-ТРЕБОВАНИЯ К ПРОГРАММНЫМ
ДОКУМЕНТАМ,
ВЫПОЛНЕННЫМ ПЕЧАТНЫМ СПОСОБОМ
ГОСТ 19.105-78*- ОБЩИЕ ТРЕБОВАНИЯ К ПРОГРАММНЫМ
ДОКУМЕНТАМ
- Изучение технологического
процесса в отделе программирования
Отладка является одним из важнейших
этапов разработки программного обеспечения,
так как во время отладки можно выявить
ошибочные суждения логики и исправить
их до введения программы в эксплуатацию.
Данная процедура значительно облегчает
поиск и локализацию ошибок. В процессе
отладки допускается тестирование продукта.
Тестирование бывает разных
видов и позволяет производить проверку
программного продукта в разных аспектах.
Так , например, мною зачастую используется
тестирование белого ящика, так как я вижу
где конкретно мною допущена ошибка и
почему она возникла. Так же данный вид
тестирования позволяет видеть собственные
ошибки и зачастую помогает более подобных
ошибок не повторять. Так же важным этапом
является модульное тестирование, в частности
применимое к программным продуктам разработанным
при помощи модулей. Позволяет тестировать
работу отдельного модуля и так же локализовать
ошибки, если таковые имеются. Так же весьма
эффективно используется тестирование
черного ящика, а именно осуществляется
тестирование приложения, не учитывая
кода программы, то есть осуществляется
тестирование интерфейса программного
продукта. Но чтобы проверить эффективность
всего программного продукта в целом,
рационально использовать системное тестирование,
которое позволяет проверить эффективность
работы программного продукта включая
всю функциональную составляющую.
Под термином математическое
обеспечение ЭВМ подразумевается, совокупность
программ и программных комплексов, посредством
которых происходит преобразование алгоритмов
программы пользователя, записанных на
алгоритмических языках высокого уровня,
в последовательность команд, понимаемых
электроникой ЭВМ, организуется автоматическое
прохождение задач пользователей на ЭВМ,
обеспечивается эффективное использование
оборудования ЭВМ.
Математическое обеспечение
ЭВМ можно представить в виде двух уровней.
Первый уровень
- комплекс программ, входящих в
ОС или работающих под ее непосредственным
управлением, который является общим математическим
обеспечением, поставляемым вместе с вычислительной
системой. Кроме программ собственно ОС,
в общее математическое обеспечение входят
в первую очередь трансляторы с машинно-ориентированных
и широко распространенных процедурно-ориентированных
алгоритмических языков, а также библиотеки
стандартных подпрограмм общего назначения.
Второй уровень
представлен проблемно-ориентированными
программными комплексами. Они являются,
как правило, надстройкой над общим математическим
обеспечением первого уровня и создаются
с использованием языковых средств и других
возможностей, представляемых математическим
обеспечением первого уровня. Проблемно-ориентированное
математическое обеспечение по общей
организации и назначению можно разбить
на два типа. Первый - это программные комплексы,
создаваемые на универсальных ЭВМ общего
назначения с использованием средств,
представляемых математическим обеспечением.
Они предназначены для решения определенных
классов задач или обработки данных. С
точки зрения связи с ОС ЭВМ эти комплексы
являются обычными прикладными программами.
Второй тип представлен специализированными
ОС реального времени или управляющими
программами, которые создаются как с
использованием средств, предоставляемых
стандартными ОС ЭВМ, так и без их использования.
Это математическое обеспечение управляет
сложными электронными и электромеханическими
системами, в которых ЭВМ составляют только
часть из всего оборудования системы.
При детальном ознакомлении
с представленной ЭВМ я пришла к следующим
выводам:
- На ЭВМ установлена Windows XP операционная система. Довольно удобная, гибкая, многофункциональная.
Что позволяет выполнять задачи любой сложности.
Является наиболее используемой из-за своей простоты.
- Также установлено программное
обеспечение которое охватывает лишь узкий круг решаемых
задач( ДПУ магазин «Алеся», The Bat,)
- Стоит отметить, что на предприятии
широко используется программный комплекс 1С: Предприятие,
в частности на исследуемой ЭВМ установлена версия
8.2 «Управление производственным предприятием», которая
находится на стадии обработки.
- Изучение технологического
процесса в отделе эксплуатации ЭВМ и
подготовка данных
При рассмотрении возможностей
ЭВМ были определены следующие группы
характеристик:
• технические и эксплуатационные
характеристики ЭВМ (быстродействие
и производительность, показатели надежности,
достоверности, точности, емкость оперативной
и внешней памяти, габаритные размеры,
стоимость технических и программных
средств, особенности эксплуатации и др.);
• характеристики
и состав функциональных модулей базовой
конфигурации ЭВМ; возможность расширения
состава технических и программных средств;
возможность изменения структуры;
• состав программного
обеспечения ЭВМ и сервисных услуг (операционная
система или среда, пакеты прикладных
программ, средства автоматизации программирования).
Важнейшими характеристиками
ЭВМ являются быстродействие и производительность.
При рассмотрении представленной ЭВМ
мною было выявлено, что поскольку ЭВМ
используется как офисная, значительная
часть памяти загружена, что негативно
сказывается на производительности и
быстродействии системы. При рассмотрении
иных вариантов использования данная
ЭВМ показала бы гораздо лучшие результаты.
Другой важнейшей характеристикой
ЭВМ является емкость запоминающих устройств.
Она измеряется количеством структурных
единиц информации, которые одновременно
можно разместить в памяти. Этот показатель
позволяет определить, какой набор программ
и данных может быть одновременно размещен
в памяти.
Обычно отдельно характеризуют
емкость оперативной памяти и емкость
внешней памяти. Рассматривая представленную
ЭВМ, отметила, что оперативная память
составляет 2 Гб. Перейдем к рассмотрению
внешней памяти. Емкость внешней памяти
зависит от типа носителя.