- •Министерство образования и науки украины
- •В. Л. Лисицкий автоматизация операционных исследований на базе персональных эвм
- •7080401 – Информационные управляющие системы и технологии; 7080403 – Программное обеспечение автоматизированных систем.
- •1 Основные определения. Типовые содержательные задачи линейного программирования, являющиеся задачами исследования операций
- •1.1. Основные определения
- •1.2. Типовые содержательные задачи лп, являющиеся задачами исследования операций
- •2 Автоматизация операционных исследований. Структура интерфейса исследователя операций
- •3 Алгоритмическое обеспечение решения задач лп конечными методами
- •4.1. Основные этапы обработки информации при моделировании операцій
- •4 Программное обеспечениеисследования операций
- •4.2. Структура прикладного программного обеспечения исследования операций
- •Для задачи лп
- •4.3. Построение схемы программы
- •4.4. Отладка программы
- •4.5. Описание программы. Описание программы позволяет не только эксплуатировать ее, но и проводить необходимую модернизацию с целью дальнейшего использования в разработках.
- •Контрольные вопросы
- •Список литературы
- •Лисицький Василь Лаврентійович
Для задачи лп

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

и базисные компоненты
опорного плана

С учетом выполненных вычислений, имеют

Так как множество
имеет вид
,
то
определяется формулой
Множество
является
выпуклым многогранным множеством,
образованным пересечением шести
полупространств. На рис. 4.1. представлен
график
.
Из рисунка следует, что
,
поэтому
.
Программа для заданных

Рисунок
4.1 – График допустимого множества ![]()
формирует
на экране дисплея границы множества
,
границы множества
,
указывает границы множества
,
определяющего допустимую область
устойчивости оптимального базиса. При
реализации программы необходимо
предусматривать регулярную выдачу на
экран дисплея сообщений пользователю
о ходе процесса исследования устойчивости,
указаний о его действиях.
При исследовании
значений задачи (3.1) с возмущенной
матрицей условий
,
вектором ограничений
,
вектором коэффициентов линейной формы
предоставляют возможность пользователю
для каждого
,
принадлежащего заданному диапазону,
формировать задачу ЛП

При заданном
,
необходимо предусматривать возмущение
только элементов матрицы, соответствующей
содержательной задаче ЛП. Искусственные
единичные векторы остаются прежними.
Полагая выборочно
и/или
,
и/или
,
получают широкий спектр возможностей
исследования устойчивости
в диапазоне
,
изменения значений задачи (4.1). Для этого
предусматривают возможность решения
(4.1) с использованием пункта 1.3 главного
меню. Варьируя значения
,
пользователь устанавливает степень
устойчивости
,
характер изменения оптимального значения
целевой функции при возмущении параметров
задачи (3.1), другие характерные особенности
моделируемой операции.
4.2.7. Программа, реализующая функции "справка" и "сервис". Состав программы определяется составом подменю 1.5 главного меню. Программа "справка" обеспечивает пользователя необходимой справочной информацией, достаточной для ознакомления с предоставляемыми возможностями прикладного программного обеспечения и режимами их реализации. Формат экрана произвольный.
Программа "сервис" должна реализовывать возможность копирования информации на ГМД и ее восстановления на жесткий диск.
4.3. Построение схемы программы
4.3.1. Рекомендации по разработке схем программ. Построение схемы программы обязательно должно предшествовать написанию текста программы на алгоритмическом языке, так как в этом случае:
предотвращается возможность возникновения многих ошибок на этапе программной реализации процессов обработки информации;
закрепляется технологическая схема и последовательность основных этапов преобразования информации,
четко формулируется функциональное назначение, содержание отдельных частей программы;
уделяется значительное внимание обеспечению простоты логической структуры создаваемой программы;
существенно экономятся затраты машинного времени на разработку программного обеспечения, снижается время пребывания разработчиков у экрана дисплея.
Построение схемы прикладной программы должно базироваться на выбранной структуре главного меню, отражающего сценарий имитационного моделирования операции, на едином описании входных, промежуточных, выходных данных, на принятой основной стратегии отладки программы. Программа, реализующая пункт 1.3 «Решение» главного меню, строится на основе заданной структуры подменю 1.3, схемы метода решений задачи ЛП.
В связи с этим перед разработкой схемы необходимо:
выбрать структуру главного меню;
изучить теоретические основы метода решения задачи ЛП,
уяснить формы представления задачи, требуемые методом ее решения;
изучить процесс нахождения исходной вершины допустимого множества задачи, свойства соответствующего ей базиса,
изучить структуры исходных таблиц, данных, физическое их содержание, правила и порядок заполнения таблиц;
изучить процесс анализа ситуаций на основе симплекс-таблиц, теоретическое обоснование выводов по каждой из ситуаций, особенности нормальных преобразований при переходе в новую вершину допустимого множества;
изучить процесс заполнения симплекс-таблиц, соответствующих новому опорному плану с использованием рекуррентных формул;
установить минимальный объем информации, выводимой на экран дисплея и/или на принтер при каждом случае прекращения задания ПЭВМ;
осуществить спецификацию (представление) всех данных прикладной области, участвующих в процессе реализации главного меню, с указанием типа информации (символьная, текст, цифровая, логическая, дата), длины значения показателя. Для цифровых реквизитов указывается количество знаков целой части и количество десятичных знаков. Если длина значения реквизита существенно меняется, то указывают диапазон изменения, целесообразность задания их в качестве глобальных параметров. Рекомендуется при представлении данных указывать наличие используемых символов на клавиатуре терминала ;
осуществить описание используемых данных средствами выбранного алгоритмического языка. Рекомендуется при описании данных использовать общепринятые символьные обозначения. В частности, N- число переменных,M- число ограничений задачи,R- номер направляющей строки,K- номер параллельного столбца и т.д.,
При определении состава данных, выводимых на экран дисплея, принтер, рекомендуется учитывать причину прекращения выполнения задания ПЭВМ. Если это вызвано отсутствием ситуации 1, 2, то объем и состав выводимой информации должен быть минимально достаточным для установления достоверности полученных результатов. Остальные случаи прекращения выполнения задания ПЭВМ обусловлены ошибками.
Поэтому объем и состав выводимой информации должен быть достаточным для локализации ошибки и, по возможности, минимально избыточным.
Существенное влияние на структуру прикладной программы оказывает:
разработка стратегии отладки,
построение плана реализации выбранной стратегии,
выбор состава используемых отладочных средств (контрольный пример, отладочная печать в узлах, блок контроля и т.п.) ,
разработка технологии предупреждения и обнаружения ошибок с использованием отладочных средств, способов контроля отдельных частей программы и примеров локализации ошибок в них.
Существующий опыт показывает, что чем тщательнее разработан план, выбраны средства отладки, тем меньше машинного времени расходуется на проведение полной отладки, тем скорее будут получены на ПЭВМ результаты, которым можно будет доверять. Наоборот, стремление к максимально быстрому составлению программы с целью ускорить начало (и окончание) отладки приводит к обратному результату: отладка затягивается, так как на ее поздних этапах вскрываются все новые семантические (смысловые) ошибки и просчеты, допущенные на этапе разработки схемы и текста прикладной программы, вызывающие прогрессивное увеличение затрат машинного времени на их исправление.
Схему прикладной программы составляют, используя в качестве базы:
выбранную структуру главного меню,
единое описание данных;
единые отладочные мероприятия.
Каждый пункт меню реализуется отдельной программой. Степень детализации каждой программы должна быть такой, чтобы текст алгоритма был близок к тексту программы на соответствующем алгоритмическом языке. Это позволяет быстрее обнаружить и локализовать ошибку в схеме и тексте, что значительно ускоряет процесс отладки.
Схему программы необходимо чертить с учетом обозначений и правил выполнения схем алгоритмов и программ систем программного обеспечения вычислительных машин.
4.3.2. Обозначения и правила выполнения схем. Состав, наименование, обозначение обязательных символов и отображаемые ими функции в алгоритме и программе обработки данных должны соответствовать указанным в табл. 4.1.
Таблица 4.1 – Состав, наименование, обозначение обязательных символов и обозначаемых ими функций
|
Наименование |
Обозначения и размеры в мм |
Функции |
|
1. Процесс |
|
Выполнение операции (или группы операций), в результате которой изменяется значение, форма представления или расположения данных |
|
2. Решение |
|
Выбор направления выполнения алгоритма или программы в зависимости от некоторых переменных условий |
|
3. Модификация |
|
Выполнение операций, меняющих команды или группы команд, изменяющих программу |
|
4. Предопределенный процесс |
|
Использование ранее созданных и отдельно описанных алгоритмов или программ |
|
5. Ручная операция |
|
Автономный процесс, выполняемый вручную или при помощи неавтоматически действующих средств |
|
6. Вспомогательная операция |
|
Автономный процесс, выполняемый устройством, не управляемым непосредственно процессором |
|
7. Слияние |
|
Объединение двух или более множеств в единое множество |
|
8. Выделение |
|
Удаление одного или нескольких множеств из единого множества |
|
9. Группировка |
|
Объединение двух или более множеств с выделением других множест |
|
10. Сортировка |
|
Упорядочение множества по заданным признакам |
|
11. Ручной ввод |
|
Ввод данных вручную при помощи неавтономных устройств: с клавиатуры, переключателей, кнопок |
|
12. Ввод-вывод |
|
Преобразование данных в форму, пригодную для обработки (ввод) или отображения (вывод) результатов обработки |
|
13. Неавтономная память |
|
Ввод-вывод данных в случае использования запоминающего устройства, управляемого непосредственно процессором |
|
14. Автономная память |
|
|
|
15. Документ |
|
Ввод-вывод данных, носителем которых служит бумага |
|
16. Магнитная лента |
|
Ввод-вывод данных, носителем которых служит магнитная лента |
|
17. Магнитный диск |
|
Ввод-вывод данных, носителем которых служит магнитный диск |
|
18. Оперативная память |
|
Ввод-вывод данных, носителем которых служит магнитный сердечник |
|
19. Дисплей |
|
Ввод-вывод данных с использованием экрана дисплея |
|
20. Канал |
|
Передача данных по каналу связи |
|
21. Линия потока |
|
Указание последовательности между символами |
|
22. Параллельные действия |
|
Начало или окончание двух или более одновременно выполняемых операций |
|
23. Соединитель |
|
Указание связи между прерванными линиями потока, связывающими символы |
|
2 |
|
Начало, конец, прерывание процесса обработки данных или выполнения программы |
|
25. Комментарий |
|
Связь между элементом и пояснением |
Перечень, наименование, обозначение и размеры рекомендуемых символов и отображаемых ими функций в алгоритме и программе обработки данных должны соответствовать указанным в таблице 4.2.
Таблица 4.2. – Перечень, наименование, обозначение и размеры екомендуемых символов и отображаемых ими функций
|
1 |
|
Указание связи между разъединенными частями схем алгоритмов и программ, расположенных на разных листах |
|
|
|
Формирование документа в результате выполнения ручных операций |
|
3. Архив |
|
Хранение комплекта упорядоченных носителей данных в целях повторного применения |
|
4. Автономная обработка |
|
Преобразование исходных данных в результате выполнения автономной операции |
|
5. Расшифровка |
|
Считывание с носителя данных, перекодирование |
|
6 |
|
Нанесение кодированной информации на носитель |
|
7. Копирование |
|
Образование копии носителя |
|
8. Транспортирование |
|
Перемещение носителей данных при помощи транспортных средств или курьером |
|
9. Материальный поток |
|
Указание последовательности операций в технологическом процессе, направление перемещения предметов труда |
|
10. Источник (приемник) |
|
Отправитель или получатель данных |
Базовые размеры и конфигурация символов создаваемых схем определяют подходящим преобразованием подобия приведенных в таблице 4.1 их изображений.
Таблица 4.3 – Правила применения обязательных символов в создаваемых схемах
|
Фрагмент схемы |
Содержание обозначения |
Правила применения |
|
|
18, 19, 20 - порядковые номера символов на схеме |
Порядковый номер проставляется слева в верхней части символа в разрыве его контура |
|
|
Комментарий к символу, к линии потока |
Применяется, если содержание пояснения не помещается внутри символа. Для пояснения характера, особенностей процесса линий потока и др. комментарии записывают в пределах верхней и нижней граничных линий параллельно основной надписи. Комментарии помещают в свободном месте схемы и соединяют с пояснительным символом пунктирной линией |
|
|
«Соединитель» Х-идентификатор соединителя в виде буквы или цифры |
При большой насыщенности схемы символами отдельные линии потока между удаленными друг от друга символами допускается обрывать, при этом в конце (начале) отрыва должен быть помещен символ «соединитель" |
|
|
«Межстраничный соединитель»: первая строка внутри межстраничного соединителя определяет номер листа, вторая - координату символа, к которому направлена линия потока |
"Межстраничный соединитель" применяют, если связываемые линией потока символы находятся на разных листах |
|
|
АЗ определяет зону на данном листе, где расположен символ "Комментарий". 010ЕЗ определяет номер листа и зону расположения, связываемую с символом ЕЗ |
В случае связи некоторого символа со многими другими символами, расположенными на разных листах, на вход этого символа помещают один символ "Межстраничный соединитель", внутри которого на первой стороне помещают знак #, а на второй строке - координаты символа "Комментарий", внутри символа "Комментарий" указывают номера страниц и координаты символов, связанных с поясняемым символом. |
|
|
Линии потока |
Применяются для указания направления линии потока: без стрелки, если направлена слева и сверху вниз со стрелкой - в остальных случаях |
|
|
Линии потока под углом 90° |
Изломы линии обозначают изменение направления линии потока |
|
|
Пересечений линий потока |
Применяется в случае пересечения двух несвязанных линий потока |
|
|
Слияние линий потока Место слияния линий потока обозначено точкой |
Применяется в случае слияния линий потока, каждая из которых направлена к одному и тому же символу на схеме. Место слияния допускается обозначать точкой при ручном выполнении схем |
|
|
Возможные варианты отображения решения: А=В, р>1 Условий решений; Параметры А,В, р |
При числе исходов не более трех признаков условия (ДА, НЕТ, =,>,<) решения проставляется над каждой входящей линией потока или справа от линии потока |
|
|
Представление начала, прерывания и конца алгоритма и программы, при прерывании останов |
Символы применяются в начале схемы алгоритма или программы в случае прерывания ее и в конце. Внутри символа «Пуск-останов» указывается наименование действия или идентификатор программы, над которой производится указанное действие |
|
|
7,8,9 - порядковые номера символов на схеме |
Допускается не проставлять координаты символов при выполнении схемы от руки. Достаточно указания порядкового номера символа. |
При вычерчивании схемы программы необходимо соблюдать следующие правила:
линии потока должны быть параллельны внешней рамке схемы,
направление линии потока сверху вниз и слева направо принимают за основное и стрелкой не обозначают. В остальных случаях направление линии потока обозначают стрелкой;
расстояние между отдельными символами схемы должно быть не менее 5 мм, между параллельными линиями -не менее 3 мм,
записи внутри символа или рядом с ними должны быть краткими. Сокращения и аббревиатуры должны быть расшифрованы в нижней части страницы или в пояснительной записке.
























4.
Пуск-останов
.
Межстраничный соединитель
2
.
Ручной документ


.
Кодирование














