автореферат диссертации по транспорту, 05.22.19, диссертация на тему:Методика оценивания готовности эргатической системы управления судном к решению задач расхождения
Оглавление автор диссертации — кандидата технических наук Чертов, Владимир Владимирович
ВВЕДЕНИЕ.
1. АНАЛИЗ ОСОБЕННОСТЕЙ ЭКСПЛУАТАЦИИ И ФУНКЦИОНИРОВАНИЯ СИСТЕМЫ УПРАВЛЕНИЯ СУДНОМ ПРИ РЕШЕНИИ ЗАДАЧ РАСХОЖДЕНИЯ.
1.1 Анализ основных причин столкновения судов и эксплуатационных особенностей применения радиолокационных и технических средств управления судном.
1.2 Анализ особенностей функционирования систем управления судном при решении задачи расхождения.
1.3 Постановка задачи и основные направления исследования.
1.4 Выводы по разделу 1.
2. МЕТОДИЧЕСКИЕ ОСНОВЫ ОЦЕНИВАНИЯ ГОТОВНОСТИ ЭРГАТИЧЕСКИХ СИСТЕМ УПРАВЛЕНИЯ СУДНОМ К РЕШЕНИЮ ЗАДАЧ РАСХОЖДЕНИЯ.
2.1 Обоснование показателей оценивания готовности эргатической системы управления судном к решению задач расхождения.
2.2 Анализ существующих методов оценивания показателей эксплуатационных свойств сложных систем и обоснование метода оценивания готовности системы управления судном к решению задач расхождения.
2.3 Алгоритм оценивания и исследования готовности эргатической системы управления судном к решению задач расхождения.
2.4 Выводы по разделу
3 МАТЕМАТИЧЕСКИЕ МОДЕЛИ ОЦЕНИВАНИЯ ГОТОВНОСТИ ЭРГАТИЧЕСКОЙ СИСТЕМЫ УПРАВЛЕНИЯ СУДНОМ К РАСХОЖДЕНИЮ СУДОВ И ИХ АНАЛИЗ.
3.1 Структурно-эксплуатационные модели функционирования эргатической системы управления судном при решении операции расхождения судов.
3.2 Базовая математическая модель оценивания готовности системы управления судном к решению операции расхождения и ее анализ.
3.3 Обобщенная математическая модель оценивания готовности эргатической системы управления судном к решению операции расхождения и ее анализ.
3.4 Комплексная математическая модель оценивания готовности системы управления судном к решению операции расхождения и ее анализ.
3.5 Выводы по разделу
4 СТРУКТУРА МЕТОДИКИ, АЛГОРИТМ И КОМПЬЮТЕРНАЯ ПРОГРАММА ОЦЕНИВАНИЯ И ИССЛЕДОВАНИЯ ГОТОВНОСТИ ЭРГАТИЧЕСКОЙ СИСТЕМЫ УПРАВЛЕНИЯ СУДНОМ К РЕШЕНИЮ ЗАДАЧ РАСХОЖДЕНИЯ.
4.1 Структура методики оценивания и исследования готовности эргатической системы управления судном к решению операции расхождения.
4.2 Алгоритм и компьютерная программа оценивания и исследования готовности эргатической системы управления судном к решению задач расхождения.
4.3 Анализ количественных результатов оценивания готовности эргатической системы управления судном с использованием полученной методики и математических моделей.
4.4 Графоаналитический метод оценивания готовности эргатических систем управления судном и анализ количественных результатов при использовании методики.
4.5 Выводы по разделу 4.
Введение 2001 год, диссертация по транспорту, Чертов, Владимир Владимирович
Современное мореплавание в конце 20 века достигло высокого уровня развития. Возросла эффективность использования водного транспорта для перевозки грузов, значительно увеличился тоннаж перевозимых грузов. Морские перевозки стали более дешевыми, время переброски грузов и пассажиров сократились многократно благодаря развитию и совершенствованию навигационной техники и методов морского судовождения. Технический уровень навигации достиг качественно другой степени развития во многом благодаря выдающимся достижениям в области радиоэлектроники и созданными на этой основе техническими средствами судовождения. Используя и совершенствуясь в обращении с навигационной техникой конца 20 века, судоводитель стал способен выполнять огромный ряд ранее ему недоступных задач. Стало возможно беспрерывное движение судов в узкостях и каналах в дневное и ночное время, расхождение судов на более малых дистанциях друг относительно друга, а также более безопасное движение в перенасыщенных судами районах.
Роль морского и речного транспорта в развитии связей внутри мирового экономического рынка постоянно возрастает. Перевозка водным транспортом является на сегодняшний день наиболее дешевым видом транспортной перевозки, а зачастую и единственно возможной. На сегодняшний день мировой торговый флот насчитывает более 30 тыс. судов валовой вместимостью более 100 тыс. per. тонн, 50% которых, по статистическим данным одновременно находятся в море. Причем распределение судов неравномерно, а сконцентрировано на основных судоходных путях, что создает чрезмерно высокую, даже для оборудованных по последнему слову техники судов, интенсивность движения в отдельных районах. В связи с увеличением грузопотока и количества судов, перевозящих грузы, а также тенденции возрастающего тоннажа и скорости движения судов при постоянно сокращающейся численности экипажа, возник целый ряд проблем обеспечения безопасности морского судовождения. Увеличение количества судов на основных морских путях - объективная предпосылка повышения опасности столкновений. Особенно эта опасность увеличивается в районах ограниченного маневрирования - проливах и на подходах к портам, где сосредотачивается большое количество судов. Только за последние 8-10 лет интенсивность движения на основных морских путях возросла настолько, что вероятность опасной встречи с другими судами стала в 2 раза больше /29,39,46/.
Несмотря на принимаемые административные меры по регламентации буквально любого действия судоводителя, на практике безопасность движения судна во многом зависит не только от опыта конкретного штурмана, знания им установленных правил и положений, но и умения судоводителем грамотно использовать радиоэлектронные средства обеспечения безопасности плавания в комплексе с другим навигационным оборудованием, входящим в систему управления судном. Для штурмана задача расхождения с другими объектами намного усложняется, когда встречных судов много, а условия видимости плохие (туман, ночь). Основным радиоэлектронным средством, являющимся источником информации об окружающей обстановке и обеспечивающим безопасность плавания в реальном режиме развития ситуации стала судовая радиолокационная станция (PJIC), как основной элемент САРП.
Тенденция развития современного морского и речного флота таковы, что тоннаж и скорость судов постоянно возрастают, а численность экипажей уменьшаются. Все это делает процесс судовождения еще более сложным и повышает требования к эргатическим системам управления судном при обеспечении безопасности плавания. В связи с этим возникает задача оценивания готовности подобных систем к применению. К показателям готовности обычно относят комплексные показатели надежности, которые характеризуют только ее составляющие и не учитывают других свойств, влияющих на готовность. Необходимо также отметить, что количественной оценки надежности судовых систем управления, предназначенных для решения задач судовождения, включая и расхождение, уже недостаточно, появилась настоятельная необходимость в оценивании их готовности и обосновании путей ее обеспечения, особенно в тех случаях, когда речь идет о судоводителе в комплексе с судовой системой управления, т.е. эргатической системой, решающей исключительно сложные задачи предупреждения столкновения судов и обеспечения безопасности плавания.
Анализ известных автору результатов исследований показал, что вопросы комплексного изучения эксплуатационных свойств, включая готовность, как интегративное свойство эргатической системы управления судном, и прежде всего связанные с разработкой методического и математического аппаратов оценивания и обоснования путей обеспечения готовности системы управления в различных условиях, предназначенных как для получения оценок потенциальной готовности на этапе формирования, так и для создания математических моделей, применяемых при исследовании готовности эргатической системы управления в процессе решения задачи расхождения, не нашли должного отражения в этих работах.
В связи с этим научной задачей, решаемой в диссертационной работе, является разработка методики оценивания готовности как интегрированного эксплуатационного свойства эргатической системы управления судном к решению задач расхождения.
Таким образом, актуальность выполненных в диссертационной работе исследований обусловлена: необходимостью применения судовых PJIC (САРП) в комплексе с судоводителем и другими навигационными средствами контроля ситуации при опасном сближении с другим объектом и необходимостью повышения эффективности функционирования подобной эргатической системы управления судном (СУС); исключением возможности появления значительных разрывов между требуемыми и реальными эксплуатационно-техническими характеристиками СУС; сложностью процесса функционирования СУС, характеризующейся необходимостью применения глубокого системного анализа всего многообразия связей между ее элементами; отсутствием научных исследований по разработке теоретических основ оценивания готовности эргатических СУС применительно к решению задач расхождения; необходимостью внедрения в практику создания и эксплуатации эргатических СУС математических моделей, предназначенных для оценивания, прогнозирования их готовности и обоснования путей ее обеспечения при решении задач расхождения с другими судами и объектами.
Необходимость решения научной задачи вызвана как практической, так и теоретической потребностью. При этом разрешимость задачи определяется: опытом эксплуатации и развития судовых PJIC и автоматизации ее функциональных задач, практическим опытом судоводителей в применении системы управления судном для решения задачи расхождения, обусловившему возможность проведения теоретических обобщений и получения новых практических выводов по оцениванию и обеспечению готовности и других эксплуатационных свойств СУС; возможностью всесторонней проверки указанных обобщений и выводов с помощью современных математических методов.
Объектом исследования выступает эргатическая система управления судном. Предметом исследования является готовность, как интегративное эксплуатационное свойство эргатической СУС. Цель исследования заключается в разработке методики оценивания готовности эргатической системы управления судном к решению задач расхождения (предупреждения столкновения) судов в интересах повышения эффективности функционирования судовых СУС.
Задачи исследования. Достижение цели исследования реализуются путем решения ряда частных научных задач:
1. Разработка методических основ оценивания готовности эргатических систем управления судами к решению задач операции расхождения (предупреждения столкновения).
2. Разработка метода оценивания готовности и структурно-эксплуатационных моделей функционирования эргатических систем управления судном к решению задач расхождения.
3. Разработка системы комплексных и частных математических моделей оценивания готовности эргатической системы управления судном к решению задач расхождения.
4. Разработка структуры методики оценивания и исследования готовности эргатических систем управления судном к решению задач расхождения.
5. Разработка рекомендаций по применению созданного методического аппарата, математических моделей и программного обеспечения при оценивании и исследовании готовности судовых эргатических СУС к решению задач расхождения.
Методы исследования. Решение поставленной в диссертации научной задачи проведено с использованием системного подхода и анализа, метода пространства состояний, методов теории вероятностей и математической статистики и теории математического программирования.
В результате выполненных исследований получены следующие новые теоретические и практические результаты, выносимые на защиту:
1. Методические основы решения научной задачи.
2. Метод оценивания и показатели готовности судовых эргатических СУС к решению задачи расхождения.
3. Комплекс математических моделей оценивания готовности эргатической СУС к решению задач расхождения.
4. Программное обеспечение подсистемы оценивания и исследования готовности эргатических СУС к решению задач расхождения, включающее алгоритм и машинную программу, реализованную на языке Visual Basic.
5. Количественные результаты и практические рекомендации по использованию разработанных методических основ, математических моделей и программного обеспечения при оценивании и исследовании готовности СУС к решению задач расхождения.
Совокупность этих результатов и представляет содержание методики оценивания готовности эргатической системы управления судном к решению задач расхождения и может быть рекомендована в качестве основы для исследования и других эксплуатационных свойств, например, безотказности, восстановляемости, технологичности, подготовляемости и т.д.
Научная новизна и теоретическая значимость результатов, полученных в диссертации, заключается в следующем: а) обоснование и развитие методических основ оценивания готовности судовых эргатических СУС к решению задач расхождения, включающих систему показателей готовности, метод и алгоритм их оценивания, позволяющих разрабатывать структурно-эксплуатационные модели функционирования и математические модели оценивания (исследования) влияния как эксплуатационно-технических параметров на готовность эргатических СУС к решению поставленной задачи, так и условий, динамики их функционирования с учетом характеристик судоводителя; б) комплекс обобщенных и частных структурно-эксплуатационных моделей функционирования и математических моделей оценивания готовности судовых эргатических СУС к решению задач расхождения, базирующихся на методе пространства состояний с использованием марковских процессов; в) алгоритм и структура методики оценивания готовности судовых эргатических СУС к решению задач расхождения, включающая полученные математические модели и позволяющие проводить количественную оценку, прогноз и обоснование путей достижения готовности судовых эргатических СУС к решению операции расхождения с учетом основных эксплуатационно-технических характеристик судовых СУС, особенностей и условий применения, а также характеристик судоводителя.
Практическая значимость результатов состоит: а) в разработке комплекса математических моделей оценивания готовности эргатических СУС, алгоритма и машинной программы, составляющих основу программно-математического обеспечения оценивания и исследования готовности эргатических СУС к решению задач расхождения; б) в проведении с использованием разработанных математических моделей оценивания готовности судовых эргатических СУС, количественных исследований по оценке влияния основных ЭТХ, условий, особенностей, режимов и динамики их функционирования, а также судоводителя на готовность к решению задач расхождения и разработка рекомендаций по их использованию при обосновании путей повышения эффективности применения СУС; в) в разработке инженерной методики оценивания и исследования готовности эргатических СУС при проведении операции расхождения с другими судами или объектами.
Обоснованность и достоверность полученных результатов обеспечивается: правильным применением системного подхода и проведением широких обобщений; адекватным учетом особенностей применения и функционирования судовых эргатических СУС при разработке математического аппарата исследования их готовности; корректностью и логической обоснованностью принятых допущений; строгостью математических выкладок и практической проверкой выдвигаемых основных положений в ходе машинного эксперимента.
Реализация результатов исследования.
Основные результаты реализованы в научно-методических материалах, используемых в учебном процессе МГАВТ; в сборниках научных трудов МГАВТ, посвященных повышению эффективности работы судовых технических, радиолокационных систем и систем управления судном при решении задач расхождения в условиях ограниченной видимости, а также в информационных сборниках "Наука и техника на речном транспорте" Министерства Транспорта Российской Федерации.
Апробация работы. Результаты диссертационной работы неоднократно докладывались и получили одобрение на научно-практических конференциях ППС и научных сотрудников МГАВТ (1998-2001), на научных семинарах кафедры "Судовождения и судоходных сооружений" (1998-2001). Работа в целом апробирована на расширенном заседании кафедры "Судовождения и судоходных сооружений" МГАВТ с привлечением специалистов из внешних организаций (10.2001 г.).
Публикации. Материалы исследований опубликованы в 3 тезисах научных докладов, в 10 научных статьях, 2 отчетах о НИР и 1 учебном пособии. Всего 16 научных трудов, из них печатных 12, рукописных 4 по теме диссертации.
Структура и объем диссертационной работы. Работа состоит из введения, четырех глав, заключения, списка использованных источников и 3 приложений. Изложена на 140 страницах машинописного текста и включает 24 рисунка, 3 таблицы, список использованных источников из 84 наименований, из них 6 зарубежных.
Заключение диссертация на тему "Методика оценивания готовности эргатической системы управления судном к решению задач расхождения"
4.5 Выводы по разделу 4
1. Для различных условий решения СУС задачи выполнения расхождения судна, и полученным на их основе комплекс марковских математических моделей оценивания готовности (и других эксплуатационных свойств) разработана структура методики оценивания и исследования готовности эргатической системы управления судном, что позволяет разрабатывать стандартные процедуры анализа эргатической системы управления судном, оценивать количественные значения показателей готовности СУС к решению задач расхождения и влияние различных параметров системы обеспечения готовности на готовность СУС, выделять наиболее эффективные управляемые параметры и определять возможные наилучшие пути обеспечения готовности и других эксплуатационных свойств СУС в различных условиях функционирования применительно к решаемым задачам. Рассмотренные индивидуальная и универсальная части методики оценивания (построения математических моделей) и исследования готовности СУС показывают каким образом получаются концептуальные модели функционирования и марковские математические модели оценивания готовности СУС при различных условиях их применения, а также как эти модели и получаемая на основе их количественного анализа информация может быть использована для обоснования параметров системы обеспечения готовности СУС и путей их поддержания, включая и готовность СУС.
2. Анализ исходных данных различных СУС и структура методики оценивания и исследования готовности эргатической системы управления судном, позволила разработать алгоритм и компьютерную программу для проведения количественного оценивания и исследования готовности по полученным в ходе работы математическим моделям. Программа позволяет оценивать показатели готовности и других эксплуатационных свойств СУС, а также оценить влияние на готовность системы к решению задач расхождения судоводителя и исследовать влияние как отдельных параметров, так и их совокупности на эти показатели, находить диапазоны их значений, обеспечивающие заданные значения показателей с использованием математических моделей готовности, полученных на основании метода пространства состояний на базе марковских процессов.
3. С использованием полученной методики и математических моделей, а также алгоритма и компьютерной программы, проведен анализ количественных результатов оценивания готовности эргатических систем управления судном. Проведенный анализ количественных результатов подтвердил работоспособность разработанных математических моделей оценивания готовности эргатических систем управления судном к проведению операции расхождения, позволяющих выявлять состав наиболее «активных» управляемых параметров, определять их рациональные диапазоны значений, обеспечивающие приемлемое решение в рамках рассматриваемых исходных
128 данных, и намечать возможные пути обеспечения требуемой готовности СУС. Результаты количественного анализа показывают, что использованная марковская модель позволяет учесть основные особенности функционирования СУС на единой математической основе - МП. Также необходимо отметить, что для получения более эффективного результата вероятности Рг нужно применять комплексный подход - изменять сразу несколько параметров, так как изменением только одного параметра не всегда можно добиться желаемого результата и не всегда эффективным является изменение некоторых параметров выше (ниже) некоторого предела.
4. Получаемые решения с помощью ЭВМ не всегда позволяют наглядно и оперативно проследить комплексное влияние ЭТХ. Для оперативности и наглядности использования аналитических зависимостей в работе представлен графоаналитический метод и построены номограммы. По результатам построения проведен анализ, визуально показывающий пользователю взаимосвязи изменения параметров и помогающий как оперативно оценивать и принимать решение по ситуации сближения, так и прогнозировать и определять параметры управления судном в сложных условиях.
5. Проведенный двумя различными методами анализ количественных результатов, полученные графические зависимости и номограммы подтвердили работоспособность разработанных математических моделей оценивания готовности эргатических систем управления судном к проведению операции расхождения, позволил выявить состав наиболее «активных» управляемых параметров, определить их рациональные диапазоны значений, обеспечивающие приемлемое решение в рамках рассматриваемых исходных данных, и намечать возможные пути обеспечения требуемой готовности СУС.
ЗАКЛЮЧЕНИЕ
В связи с увеличением грузопотока и количества судов, перевозящих грузы, а также в условиях постоянно возрастающего тоннажа и скорости движения судов при постоянно сокращающейся численности экипажа, возник целый ряд проблем обеспечения безопасности морского судовождения. Увеличение количества судов на основных морских путях - объективная предпосылка повышения опасности столкновений. Особенно эта опасность увеличивается в районах ограниченного маневрирования - проливах и на подходах к портам, где сосредотачивается большое количество судов.
Тенденция развития современного морского и речного флота таковы, что тоннаж и скорость судов постоянно возрастают, а численность экипажей постоянно уменьшаются. Все это делает процесс судовождения еще более сложным и повышает требования к эргатическим системам управления судном при обеспечении безопасности плавания. В связи с этим возникает проблема оценивания готовности подобных систем к применению. Количественной оценки надежности судовых систем управления, предназначенных для решения задач судовождения, включая и расхождение, уже недостаточно, появилась настоятельная необходимость в оценивании их готовности и обосновании путей ее обеспечения, особенно в тех случаях, когда речь идет о судоводителе в комплексе с судовой системой управления, решающей исключительно сложные задачи предупреждения столкновения судов и обеспечения безопасности плавания. Возникает необходимость в автоматизации процесса судовождения, т.е. в применении математических методов и специальных технических средств для повышения точности и надежности работы судовых систем контроля и регулирования, освобождение судоводителя от непосредственного выполнения некоторых стандартных операций по управлению судном, что создает условия для своевременного принятия им оперативных решений. Безопасность плавания, надежность получения и обработки необходимой информации достигаются комплексным использованием судоводителем навигационных приборов, основанных на различных принципах действия, при этом каждая включенная в комплекс аппаратура в отдельности и весь комплекс в целом должны быть надежными в работе.
Существующая в настоящее время эргатическая система СУС создает определенные проблемы при работе с ней и требует высокого уровня квалификации судоводителя. Современно оснащенные СУС постоянно совершенствуются, но и предъявляемые к ним требования все более возрастают. И одним из важнейших вопросов, как при эксплуатации, так и при разработке новых СУС является количественная оценка, на сколько эксплуатационно-технические характеристики (ЭТХ) судовых радионавигационных систем и судоводителя будут отвечать предъявляемым к ним требованиям при решении задач расхождения.
Большая ответственность задач, решаемых СУС, значительные экономические затраты, связанные с их созданием и эксплуатацией, подверженность негативным воздействиям предъявляют особенно жесткие требования к эксплуатационным свойствам, в первую очередь к готовности и эффективности функционирования СУС. Повышение требований к готовности, как важнейшей составляющей и существенно определяющей эффективность функционирования СУС, специфические способы их эксплуатации вызывают настоятельную необходимость совершенствования системы эксплуатации и обеспечения готовности СУС. Любые просчеты и недостатки в процессе создания и отработки системы ЭСУС вызывают в дальнейшем значительные потери готовности СУС к применению, увеличению материальных и людских ресурсов на поддержание СУС в готовности к применению. Чтобы исключить или уменьшить последствия, необходимо располагать хорошим инструментом оценивания и обоснования путей обеспечения готовности СУС.
На основании обобщения опыта эксплуатации СУС, а также проведенных автором теоретических исследований в диссертации сформулирована и решена научная задача - разработка методики оценивания готовности как интегрированного эксплуатационного свойства эргатической системы управления судном к решению задач расхождения.
К основным теоретическим результатам работы относятся: рассмотрение в теории и практике эксплуатации систем управления судном к решению задач расхождения задачи оценивания готовности, как интегративного эксплуатационного свойства СУС. В результате решения этой задачи разработана теоретическая и практическая части методики оценивания (исследования) готовности СУС, включающей метод пространства состояний и полученный на его базе марковский алгоритм и комплекс математических моделей оценивания готовности, а также программное обеспечение. обоснование и выбор метода пространства состояний, базирующегося на теории управляемых марковских процессов для решения задачи оценивания готовности СУС как интегративного свойства, характеризующего его способность выполнять заданные функции в произвольный момент времени. методические основы оценивания и исследования готовности СУС к решению задач расхождения, включающие: систему показателей готовности СУС, существенно дополняющих ранее известные, и позволяющих в отличие от них проводить всестороннее и комплексное оценивание влияния как отдельных параметров системы управления судном при решении ею задач расхождения, условий применения и динамики функционирования, так и их совокупности на готовность СУС к применению; алгоритм и метод оценивания готовности СУС, базирующийся на описании процессов функционирования СУС в виде управляемых марковских процессов; структуру общей методики оценивания и исследования готовности СУС к применению для решения задач расхождения судна с объектом. комплекс марковских математических моделей оценивания готовности эргатических СУС к решению задач расхождения, позволяющих проводить количественную оценку готовности и других эксплуатационных свойств, оценивать влияние основных эксплуатационно-технических характеристик СУС, особенностей и условий применения, режимов и динамики функционирования на готовность СУС, а также прогнозировать и обосновывать требования к параметрам СУС, обеспечивающим заданные значения показателей готовности СУС.
Практическими результатами исследования являются:
Методика исследования готовности СУС, включающей решение задачи оценивания и прогнозирования готовности СУС на каждом иерархическом уровне (анализ) и обоснования рациональных значений параметров СУС из числа, удовлетворяющих требованиям заданной готовности СУС (синтез).
Комплекс разработанных структурно-эксплуатационных и математических моделей оценивания готовности эргатических СУС, алгоритм, и реализующую его машинную программу, составляющих математическое и программное обеспечение подсистемы оценивания, прогнозирования и обоснования путей обеспечения готовности СУС к решению задач расхождения, которые могут найти применение при исследовании готовности и эффективности функционирования СУС. Ряд практических рекомендаций по оцениванию, прогнозированию и управлению готовностью СУС на основании результатов, полученных на ЭВМ с использованием разработанных структурно-эксплуатационных и математических и моделей, а также на основании визуальной оценки количественных значений, проведенной при помощи номографического метода. Основными из которых являются: а) при исследовании готовности СУС к решению задач расхождения, необходимо учитывать не только их параметры, надежность СУС, условия и методы эксплуатации, режимы и динамику функционирования, проводимые эксплуатационные мероприятия и параметры потоков поступающих на СУС, но и характеристики обслуживающего персонала, т. е. исследовать готовность эргатической СУС; б) при разработке структурно-эксплуатационных моделей функционирования системы управления судном и математических моделей оценивания готовности перспективных СУС необходимо правильно выбирать признаки классификации (выделения) состояний (режимов) СУС и предполагаемые переходы между ними, обосновать состав параметров и параметры законов распределений времен пребывания в состояниях СУС, которые необходимо учесть при оценивании и обеспечении готовности, определить элементы базовой модели и на ее основе формировать систему математических моделей оценивания готовности СУС для наиболее вероятных структурно-эксплуатационных моделей функционирования; в) для определения максимально возможного изменения (приращения) показателя готовности СУС за счет того или другого параметра, условия и способа, режима и динамики функционирования целесообразно совместное использование результатов, получаемых соответственно по комплексной, обобщенной и базовой моделям готовности, а также по их частным разновидностям, а затем по величине этих изменений и реальным возможностям определять целесообразность того или иного пути изменения управляемого параметра в целях достижения требуемой готовности СУС в различных условиях; г) для достижения возможных путей обеспечения требуемой готовности эргатической СУС к решению задач расхождения с использованием разработанных математических моделей оценивания готовности необходимо провести всестороннюю количественную оценку как комплексного, так и индивидуального влияния параметров исследуемого процесса функционирования СУС и условий применения для решения указанной задачи на ее готовность и на этой основе определить за счет изменения каких параметров, на каких направлениях, и на какую величину можно обеспечить требуемый уровень готовности в тех или иных условиях, что в свою очередь позволяет отыскивать рациональные пути обеспечения требуемой готовности СУС с учетом конкретных методов решения задачи расхождения, негативных воздействий и возможностей СУС, непосредственно используемой в операции аппаратуры (РЛС-САРП), а также судоводителя. д) в процессе создания перспективных СУС и обосновании количественных требований к параметрам СУС, целесообразно исходить из результатов, получаемых на основании разработанных структурно-эксплуатационных и математических моделей оценивания готовности СУС, учитывающих их специфику и особенности, рассмотренные выше.
Результаты экспериментального исследования возможностей разработанных методических основ (математического аппарата) решения задачи оценивания готовности СУС к решению задач расхождения при различных исходных данных подтвердили их работоспособность и возможность реального применения разработанных концептуальных и математических моделей, алгоритма и компьютерной программы, а также полученных номограмм для оценивания и исследования готовности и других эксплуатационных свойств СУС.
Полученные научные и практические результаты обеспечивают дальнейшее развитие СУС, включая и теорию их эксплуатации, и имеют существенное значение для создания новых и развития эксплуатируемых эргатических систем управления судном для решения ряда задач судовождения, для теории и практики оценивания показателей не только готовности, но и других эксплуатационных свойств и обосновании путей их поддержания, отработки системы обеспечения готовности как составной части системы эксплуатации на стадии создания, эксплуатации и совершенствования СУС, повышения уровня обоснованности принимаемых решении в ходе задания, оценки и проверки выполнения требований к ЭТХ СУС и, как следствие, обеспечивая условный экономический эффект в виде сокращения потерь показателей эксплуатационных свойств, в том числе и готовности СУС, которые могли бы иметь место при назначении нерациональных (неоптимальных) параметров СУС, а также при выборе нерациональных путей обеспечения требуемых показателей эксплуатационных свойств.
Полученные результаты количественных оценок показателя готовности с помощью разработанных математических моделей могут быть использованы разработчиками аппаратуры, входящей в состав СУС при обосновании требований к ее основным эксплуатационно-техническим характеристикам, а также судоводителями для выявления наиболее чувствительных эксплуатационно-технических характеристик (в большей мере влияющих на готовность), которыми можно поддерживать в процессе эксплуатации требуемое значение показателя готовности.
Итак, разработана единая методическая основа оценивания и исследования готовности эргатической СУС к решению задач расхождения, объединяющая фазы создания, планирования, оперативного управления и координации деятельности по обеспечению готовности СУС на основе приведенного в работе метода оценивания, структурно-эксплуатационных и математических моделей.
Подобные исследования позволяют определить вид и диапазоны изменения управляющих параметров системы обеспечения готовности СУС на этапах разработки, создания и эксплуатации.
Опираясь на основные положения методики можно получать различные математические модели для более сложных структурно-эксплуатационных моделей функционирования СУС и оценивать показатели их эксплуатационных свойств, включая и готовность СУС к решению задач расхождения. Кроме того, такой подход позволяет учитывать при оценивании готовности СУС не только параметры эксплуатационных свойств, но и параметры, характеризующие судоводителя, внешнюю среду, негативные воздействия, режимы и динамику функционирования.
Таким образом, рассмотренный метод и полученные с его использованием аналитические зависимости представляют математические модели оценивания готовности эргатических систем управления судном к решению задач расхождения и позволяют провести всестороннюю количественную оценку как количественного, так и индивидуального влияния основных параметров, характеризующих процесс функционирования и условия применения СУС на их готовность и на этой основе определять, за счет изменения каких управляемых параметров, на каких направлениях и на какую величину можно достигнуть увеличения Рг до заданного уровня в тех или иных условиях. Это в свою очередь даст возможность отыскания рациональных путей обеспечения (повышения) готовности эргатических систем управления судном с учетом реальных возможностей, а также решать ряд других практических задач, возникающих при создании и эксплуатации судовой радиотехнической аппаратуры, используемой в комплексе выполнения задач расхождения. В заключении заметим, что, используя рассмотренный метод можно получать математические модели оценивания готовности эргатических систем управления судном с более детальным учетом особенностей их динамики функционирования и условий применения.
Дальнейшее развитие полученных в работе результатов целесообразно вести по следующим направлениям:
- постановка задач и получение с помощью разработанных методических основ, математических моделей и алгоритмов для широкого крута задач анализа и синтеза систем обеспечения не только показателей готовности, но и других эксплуатационных свойств различных СУС их группировок, на стадиях их эксплуатации, совершенствования и создания;
- постановка задач и получение с помощью разработанных методических основ и математических моделей оценивания показателей эксплуатационных свойств различных структур обеспечения готовности на основе полумарковских процессов функционирования СУС применительно к задачам расхождения с объектом;
- обоснование путей развития экспериментально - испытательной базы для отработки структур, содержания и алгоритмов функционирования систем обеспечения показателей эксплуатационных свойств перспективных СУС и т.д.
Дальнейшие исследования данной марковской математической модели могут быть направлены на поиск новых математических зависимостей для предварительного расчета и обоснования параметров, которые ранее основывались исключительно на статистических данных. Полученные таким образом марковские математические модели позволяют получать нижние оценки вероятностно-временных показателей, то есть заведомо ужесточают требования к показателям эксплуатационных и технологических процессов управления судном. Несмотря на это указанные модели обладают достаточной простотой и не требуют сложных математических преобразований. В тех случаях, когда необходимо проводить исследования не только в рамках пуассоновских распределений, а и для других распределений, необходимо использовать метод пространственных состояний, базирующийся на полумарковских процессах.
Таким образом, в диссертации поставлена и решена новая научная задача, в ходе решения которой:
- проведен анализ эксплуатационных особенностей применения эргатических систем управления судном при решении задачи расхождения и особенностей функционирования СУС, обобщение работ в области оценивания готовности СУС к применению и сформулированы основные направления данного исследования;
- проведено обоснование показателей готовности эргатической системы управления судном к решению задач расхождения и анализ существующих методов оценивания показателей эксплуатационных свойств сложных систем с выбором метода оценивания готовности системы управления судном к решению задач расхождения, а также выработан алгоритм оценивания показателей готовности СУС;
- разработан комплекс структурно-эксплуатационных и марковских математических моделей оценивания готовности эргатической системы управления судном при решении операции расхождения судов, и на их основе создана методика комплексного оценивания и исследования готовности эргатической СУС к решению задач расхождения, доведенная до инженерного практического использования, которая может быть применена для исследования других эксплуатационных свойств эргатической системы СУС;
- разработан алгоритм и компьютерная программа оценивания и исследования готовности эргатической системы управления судном и проведен анализ количественных результатов как при помощи компьютерной программы, так и при помощи метода построения номограмм и даны рекомендации по их использованию.
Библиография Чертов, Владимир Владимирович, диссертация по теме Эксплуатация водного транспорта, судовождение
1. Адерихин И.В., Газизов P.P., Качигин Д.А., Чертов В.В. Математическая модель комплексного оценивания операции расхождения судов в условиях ограниченной видимости. М.: ЦБ НТИ Минтранса РФ, ИС Наука и техника на речном транспорте №2, 1998, 32-44с.
2. Адерихин И.В., Чертов В.В., Бочаров Ю.В. Судовая радиоволновая гигиена и основные направления ее развития. М.: ЦБ НТИ Минтранса РФ, ИС Наука и техника на речном транспорте №4, 1998, 19-28с.
3. Амундсен М., Кэртис С. Программирование баз данных на Visual Basic 5.0, М.: ЗАО Издательство БИНОМ, 1998, 896с.
4. Адерихин И.В., Лавровский Р.В., Федоров С.Е., Чертов В.В. Воздействие излучений судовых радиоэлектронных средств на экипаж и обеспечение его безопасности: Учебн.пособие М.: МГАВТ, 2000, 88с.
5. Адерихин И.В. Метод оценивания готовности РТС с учетом динамики функционирования. Ж. Труды ВНИИР, №4, 1982, 105-114с.
6. Адерихина Е.И., Романов А.В., Бочаров Ю.В. Метод и модели оценивания влияния негативных воздействий на готовность сложных систем и комплексов. М.: ЦБ НТИ Минтранса РФ, ИС Наука и техника на речном транспорте, №7. 1997. 8-18с.
7. И. Адерихин И.В., Бочаров Ю.В., Малышев М.В., Титов И.С. Метод и математические модели оценивания готовности судовых РТС М.: ЦБ НТИ Минтранса РФ, ИС Наука и техника на речном транспорте №8, 1995, 2- 12с.
8. Адерихин И.В., Бочаров Ю.В., Малышев М.В. Классификация и анализ влияющих на готовность судовых РТС факторов. М.: ЦБ НТИ Минтранса РФ, ИС Наука и техника на речном транспорте №12, 1995, 2-10с.
9. Адерихин И.В., Бочаров Ю.В., Малышев М.В. Структурная формализация процесса функционирования системы обеспечения готовности судовых радиотехнических средств. М.: ЦБ НТИ Минтранса РФ, ИС Наука и техника наречном транспорте №6, 1996, 1-5с.
10. Адерихина Е.И., Кирьяков С.С., Романов А.В. Метод учета влияния негативных воздействий на показатели эксплуатационных свойств сложных систем. М.: Сборник научных трудов МГАВТ, 1999, 77-87с.
11. Анализ и синтез системы человек-машина. Под ред. Прохорова А.И., Рига, 1973,63с.
12. Адерихин И.В. Математические модели оценивания готовности эргатических судовых приемоиндикаторов спутниковых радионавигационных систем. М.; ЦБ НТИ Минтранса РФ, ИС Наука и техника на речном транспорте, №11, 1993, с. 1528.
13. Адерихин И.В., Газизов P.P., Чертов В.В. Методика построения полумарковских математических моделей оценивания показателей эксплуатационных свойств сложных систем. М.; МГАВТ, 1999, с.30-44.
14. Александров М.Н. Безопасность человека на море. Л.: Судостроение, 1983. 208с.
15. Беляев Ю.К. Статистические методы обработки испытаний на надежность. М.: Знание, 1982, 97с.
16. Бусленко Н.П. Лекции по теории сложных систем. М.: Сов.радио, 1973, 439с.
17. Боул А.Г., Джоунз К.Д. Пособие по использованию средств автоматической радиолокационной прокладки. Л. Судостроение, 1986. 128с.
18. Вентцель Е.С. Теория вероятностей М.: Наука, 1980. 576с.
19. Вентцель Е.С. Исследование операций М.: Наука, 1985. 388с.
20. Васильев А.В. Управляемость судов. Л.: Судостроение, 1989, 320с.
21. Дегтярев В.Г. Аналитические методы исследования систем. Л.: ЛИТМО,1986,75с.
22. Дынкин Е.Б., Юшкевич А.А. Термины и задачи о процессах Маркова М.: Наука, 1966.
23. Дынкин Е.Б. Марковские процессы М.: Физматгиз, 1963.
24. Жидков Э.М. Статистический анализ факторов, влияющих на процесс расхождения судов в море (автореф. дис.). Л. ЛВИМУ, 1972. 22с.
25. Зурабов Ю.Г., Черняев Р.Н., Якшевич Е.В., Яловенко В.Я. Судовые средства автоматизации предупреждения столкновения судов. М.: Транспорт. 1985. 264с.
26. Зарудный В.И. Надежность судовой навигационной аппаратуры. Л.: Судостроение, 1973, 136с.
27. Земляновский Д.К., Калинин А.И. Безопасность плавания речных судов. М.; Транспорт, 1992,143с.
28. Кениг Д. Теория массового обслуживания. М.: МИНХИГП, 1979, 1 15с.
29. Котик М.А. Природа ошибок человека-оператора М.; Транспорт. 1993, 252с.
30. Красильщиков М.Н. Анализ и синтез сложных динамических систем. МАИ, 1991,86с.
31. Клименко Б.И., Петрунина А.В. Все о персональных компьютерах. М.
32. Развитие, гл.З Программирование на Visual basic, 1992, 287с.
33. Кучеренко В. Хитрости, трюки и секреты программирования на Visual basic (версии 5-6). 2000, 160с.
34. Миронов В.Н., Тихонов В.И. Марковские процессы. М.: Наука, 1980, 442с.
35. Матевосян В.Г., Ольшамовский С.Б. Анализ аварий танкеров и их предупреждение, М.: Мортехинформреклама. 1983, 36с.
36. Найденов Е.В. Исследование процесса принятия решения судоводителем при расхождении судов (автореф. дис.). Л. ЛВИМУ, 1972. 20с.
37. Ольшамовский С.Б. Судовождение и правила плавания на внутренних судоходных путях, М.: Транспорт, 1976, 216 с.
38. Ольшамовский С.Б, Исследование влияния возраста, стажа и образования судоводителей на безопасность плавания судов. Труды ГИИВТа, вып. 122,-Горький, 1972, с. 37-64.
39. Ольшамовский С.Б., Перекрестов А.Н. Исследование расхождений крупнотоннажных судов в море. ЦБНТИ ММФ, серия "Безопасность мореплавания", вып. 2 (152), 1983, с. 10-18.
40. Ольшамовский С.Б., Владимиров В.В., Маричев И.В. Перекрестов А.Н. Алгоритмы решения задач прогноза динамики расхождения судов на микро-ЭВМ. / Сб. трудов ЦНИИМФ,- Л.: Транспорт, 1988, с.21-39.
41. Ольшамовский С.Б., Удалов В.И. Предупреждение столкновений судов,- М.: ЦРИА "Морфлот", 1980, 22с.
42. Применение аналитических методов в вероятностных задачах. Сб. научныхтрудов АН УССР, Под ред. Королюк B.C., Киев, 1986,131с.
43. Проблемы математического анализа сложных систем. Сборник статей. Под ред. Сандберг В.Ю., Вып.1, Воронежский университет, 1967, 80с.
44. Павленко В.Г. Маневренные качества речных судов. М.; Транспорт, 1979, 184с.
45. Першиц Р.Я. Управляемость и управление судном Л.: Судостроение, 1983, 272с.
46. Песков Ю.А., Самойленко Ю.Н. Методы навигационного использования САРП: Учебн. пособие. М.: В/О "Мортехинформреклама", 1988. 45с.
47. Родионов А.И., Сазонов А.Е. Автоматизация судовождения. М.: Транспорт, 1992, 192с.
48. Родин Е.А., Адерихин И.В. Математическая модель оценивания оперативности доведения информации при поисково-спасательных операциях с использованием спутниковой системы КОСПАС-САРСАТ. Тезисы докладов. Материалы НПК МГАВТ. 1999.
49. Справочник по инженерной психологии. Под ред. Ломова Б.Ф. М.: Машиностроение, 1982,368с.
50. Тараканов К.В., Овчаров Л.А., Тыртышкин А.Н. Аналитические методы исследования систем М.: Сов. радио, 1974.
51. Тронев О.В., Адерихин И.В., Родин Е.А., Лешкин В.В. Особенности применения спутниковых технологий при решении задач контроля и управления судовождением на морских и внутренних водных путях. Тезисы докладов. Материалы НПК МГАВТ. 1999.
52. Ушаков И. А. Справочник по надежности сложных систем. М.: Сов.радио, 1976. 524с.
53. Ушаков И.А. Вероятностные модели надежности информационно-вычислительных систем. М.: Радио и связь, 1991, 132с.
54. Ушаков И. А. Методы исследования эффективности функционирования технических систем. М.: Радио и связь, 1976, 45с.
55. Ушаков И. А. Надежность технических систем. М.: Радио и связь, 1985, 606с.
56. Ушаков И. А. Оценка надежности систем с использованием графов. М.: Радио и связь, 1988, 209с.
57. Ушаков И.А. Справочник по расчету надежности аппаратуры радиоэлектроники и автоматики. М.: Сов.радио, 1975, 471 с.
58. Фигурнов В.Д. IBM PC для пользователя. М.: 1992. 350с.
59. Фокин Ю.Г. Инженерная психология, Воениздат, 1975
60. Хованский Е.С. Номограммы. М.: Наука, 1973
61. Четвериков В.Н. и др. Вычислительная техника для статистического вычисления М.: Сов.радио, 1982.
62. Чертов В.В., Адерихин И.В., Тронев О.В. Метод и модели оценивания готовности системы управления судном к расхождению судов в различных условиях. Тезисы докладов. Материалы НПК МГАВТ. 1999.
63. Чертов В.В., Адерихин И.В., Тронев О.В. Математическая модель комплексного оценивания показателей операций расхождения судов с использованием САРП и электронной картографии. Тезисы докладов. Материалы НПК МГАВТ. 2000.
64. Чертов В.В., Романов А.В., Тронев О.В. Метод учета влияния негативных воздействий на показатели эксплуатационных свойств судовых автоматизированных радиоэлектронных средств. Тезисы докладов. Материалы НПК МГАВТ. 2001.
65. Юдович А.Б. Предотвращение навигационных аварий морских судов. М.; Транспорт, 1988, 224с.
66. Bhanicha-Reid A. Elements of the Theory of Markov Processes and Their Applications McGraw-Hill, New York, 1960, (англ.) (Элементы теории Марковских процессов и их приложений).
67. Chung К.Г. Markov Chains with Stationary Transition Probabilities Springer, Berlin, 1960, (англ.) (Марковские цепи с постоянными (неподвижными, стационарными) переходными вероятностями).
68. Lachfhtlle G. Navigation accuracy For Absolute Positioning//System Implications and Innovative Applications of Satellite Navigatijn, AGARDLecture Series 207, 1996.
69. Merchant Ship Search and Rescue Manual, 1MO, London. 1993.
70. IMO Search and Rescue Manual (IMOSAR Manual), IMO. London, 1993.
71. GMDSS Handbook, IMO, London, 1995.
72. Текст компьютерной программы1. Проект Matmodelvbp1. Туре=Ехе
73. Module=PublicModule; PublicModule.bas
74. Module= ModMDI; ModMDI.bas
75. Module=OpenSave; OpenSave.bas
76. Module=Functions; Functions.bas
77. Module=Methods; Methods.bas
78. Module=basWinVer; basWinVer.bas
79. Module=ExcelModule; ExcelModule.bas
80. Class=clsMemorySnapshot; clsMemorySnapshot.cls1.onF'orm=" frmMDI"1. Startup="Sub Main"
81. Versi0nC0mpanyName="M0CK0BCKan Академия водного транспорта, Кафедра Судовождения и Слдоходных Сооружений." VersionFileDescription= "Программа предназначена для разработки математических моделей, построенных, используя метод пространства состояний.''
82. Attribute VBName = "PublicModule" Option Explicit ' Объявление типов.
83. Type FormState 'Состояние дочерней формы. Deleted As Integer
84. Dirty As Integer Path As String ModelName As String Metric As Integer iCol As Integer iRow As Integer End Type
85. Type GraphConditions ' Входные параметры к графику. AnalyzOneOrManyMod As Boolean ParamMin As Double ParamMax As Double KoVsem As Byte Exist As Boolean End Type
86. Type ReportConditions 'Входные параметры к отчету. First As Double Second As Double Third As Double Forth As Double ModelSel As Byte Size As Byte
87. KplxORpoVsem As Boolean Exist As Boolean End Type
88. Attribute VBName = "ModMDI" Option Explicit Sub Main()frmSplash.Show frmSplash.Refresh Set fMainForm = New frmMDI Load fMainF orm lMainForm.Show End Sub
89. Function AnyGridLeft() As hiteger
90. Dim i As Integer For i = 1 To ArravUp
91. Not FState(i).Deleted Then AnyGridLeft = True Exit Function End If Next i End Function1. Sub FileNew()
92. Находит следующий свободный индекс и делает дочернюю форму видимой. Dim flndex As Integer flndex = FindFreelndexQ With fGrid(Gndex) .Tag = flndex
93. Caption = "Безимени" & flndex F State(flndex). Dirty = False FState(fIndex).ModelName = .Caption .Show End With End Sub
94. ReDim Preserve fGridf ArrayCount + 1) ReDim Preserve FState(ArrayCount + 1) ArrayUp = UBound(fGrid) FindFreelndex = ArrayUp End Function1. Sub GetRecentFilesQ
95. Получает массив последних открытых файлов. Dim i As Integer, j As Integer Dim varFiles As Variant
96. Sub WriteRecentFiles(OpenFileName)
97. Записывает имя открытого файла первый в списке. SaveSetting ThisApp, ThisKev, "RecentFilel", OpeiiFileName End Sub1. Модуль OPENSA VE. bus
98. Attribute VBName = "OpenSave" Option Explicit
99. Private Const strlD As String = "mathjnodel"
100. Sub FileOpenProc() On Error Resume Next Dim strOpenFileName As String fMainForm.cdl. filename = "" fMainForm.cdl.FileTitle = "" fMainForm.cdl. ShowOpen
101. Err о 32755 Then 1 Пользователь выбрал ОТМЕНУ. StrOpenFileName = fMainForm.cdl. filename If ExistFile(strOpenFileName) IlienExit Sub OpenFile (strOpenFileName) UpdateFileMenu (strOpenFileName) End If End Sub
102. GetFileName = tMainForm.cdl.filename Else
103. GetFileName = "" End If End Function
104. Function GnRecentFilesList(filename As String) As Boolean Dim i As Byte For i = 1 To 41. fMainForm.mnuRecentFile(i).Caption = filename Then OnRecentFilesList = True Exit Function End If1. Nexti
105. OnRecentFilesList = False End Function
106. Sub OpenFile(filename As Siring) Dim str As String On Error Resume Next Open filename For input As # 1 If Err Then
107. MsgBox "He удается открыть файл: " + filename Exit Sub End If Input #1, str If str о strlD Then Close #1
108. MsgBox "Этот файл не является файлом математической модели.", vbExclamation + vbOKOnly, "Открытие файла" Exit Sub End If
109. Screen.MousePomter = 11 Call FillOpenGrid(filename) Close #1
110. Screen.MousePointer = 0 End Sub
111. Write #1, ArrToSave(bCol, bRow) Next bRow Next bCol Close #1
112. Screen.MousePointer = 0 If Err Then
113. MsgBox Error, 48, App.Title ElsefMainForm.ActiveForm. Caption = GetGridName( filename) FState(fMainFonn.ActiveForm.Tag).Dirty = False End If End Sub
114. Sub UpdateFileMenu(filename As String) Dim intRetVal As Boolean intRetVal = OnRecentFilesList( filename) If Not intRetVal Then
115. Записывает имя открытого файла в реестр. WriteRecentFiles (filename)1. End If
116. Обновляет список недавно открытых фатов. GetRecentFiles End Sub
117. For bCol = 1 To N For bRow = 11'oN Input #1, vText
118. DataToGnd(bCol -1, bRow -1) = vText Next bRow Next bCol FState(ind).Dirtv = False End With fGrid( ind). Show fGrid(ind) .DBG. Refresh End Sub1. Модуль Functions.bas
119. Attribute VBName = " Functions " Option Explicit 'Модуль функций Public ExtAnaliz As Boolean
120. Sub FillCbo(cbox As ComboBox) 'наполнение Dim bCount As Byte cbox.Clear
121. For bCount = 1 To ArrayUp If ModelNeed(bCount) Then cbox.Addltem FStatc(bCount).ModelName Next cbox.Listlndex = 0 End Sub
122. Function CheckUp(k As Integer) As Integer If к = Asc(",") Then CheckUp = Asc(".") Exit Function End If1. к >= 48 And к <= 57 Or к = 44 Or к = 46 Or к = vbKeyBack Then CheckUp = к Exit Function Else
123. MsgBox "Неверный символ! Вводите, пожалуйста, только цифры.", vbExclamation, "Ввод данных" End If
124. CheckUp = vbKeyBack End Function
125. Function ExistFile(str As String) As Boolean Dim i As Bytestr = GetGridName(str) For i = 1 To ArrayUp If FState(i).ModelName = str Then ExistFile = True:
126. MsgBox "Будьте внимательны! Файл с таким именем уже открыт.", vbExclamation, "Открытие файла" Exit For End If Next i End Function
127. Not Ex Then k = k + 1 Loop Until k = 4 End Function
128. Function UpdateArray(f As fnnGrid, arrl() As Double,siz As Byte) Dim bCol As Byte, bRow As Integer, CurData As String, sum As Double, arr2() As Variant ReDim arrl(l To siz, 1 To siz) ReDim arr2(0 To siz -1, 0 To siz -1)
129. On Error Resume Next f.DataFromGrid siz, arr2 For bCol = 1 To siz sum = 0
130. For bRow = 1 To siz If bRow = bCol Thenarrl(bRow, bCol) = 0 Elsearrl(bRow, bCol) = Val(arr2fbCol 1, bRow -1)) sum = sum + arrl(bRow, bCol) End If Next bRowarrl(bCol, bCol) = sum Next bCol End Function
131. Function ModelNeed(i As Byte) As Boolean
132. On Error Resume Next ModelNeed = False If Not FState(i).Deleted Then If fGrid(i).SizeOfMatrix > 1 Then ModelNeed = True End If End Function
133. Public Function MeLeft(frm As Form) As Integer
134. MeLeft = (fMainForm.Width fan. Width) / 2 + fMainForm.Left End Function
135. Public Function MeTop(frm As Form) As Integer
136. MeTop = (fMainForm.Height lrm.Height) / 2 - 200 + fMainForm.Top End Function
137. Public Sub KeyPressCheck(KcyCode As Integer) If KeyCode >= 48 And KeyCode <= 57 Or Key Code = 10 Or KeyCode = 13 Or KeyCode = 8 Then Exit Sub
138. Elself KeyCode = 46 Or KeyCode = 44 Then KeyCode = 46 Else
139. MsgBoxExclamation ("Будьте внимательны! Вы ввели символ & Chr(KevCode) & ~ неправильный формат ввода.") KeyCode = 0 End If End Sub
140. Public Sub MsgBoxExclamation(msg As String) MsgBox msg, vbExclamation + vbOKOnly, "Ошибка ввода" End Sub
141. Public Sub ToolsVie\v(Means As Boolean) Dim l As Byte, j As B^te For i = 3 To 9fMainForm.tbr.Buttons(i). Enabled = Means Next i
142. Means Then fMainForm.Sb.Panels(l).Text =
143. Public Sub Centered(f As Form) f.Left = (Screen.Widtli f.Width) / 2 f.Top = (Screen.Height - f.Height) / 2 End Sub1. Модуль Methods.bas
144. Attribute VBName = "Methods"1. Option Explicit1. МЕТОД ГАУССА-Жордана
145. Function GAUSSMETHOD(A0 As Double, siz As Byte, b() As Double, X() As Double) Dim Max As Double, m As Integer, R As Double, d As Double, Summa As Double, k%, i%, j%
146. Max = 0: m = 0: R = 0: d = 0: Summa = 0: Erase X
147. ReDim X(1 To siz) 'прямое исключение For к = 1 To siz 1 m = k: Max = Abs(A(k, k)) For i = к + 1 To siz If Max < Abs(A(i, k)) Tlienm = i: Max = A(i. k) End If Nexti1. ш = к Then GoTo 35 Forj =kTo siz
148. R = A(k, j): A(k, j) = A(mJ): A(m, j) = R Next j
149. R = b(k): b(k) = b(m): b(m) = R 35 For i = к + 1 To sizd = A(i, к) / Л(к, k): A(i, k) = 0 Forj = к + 1 To siz
150. A(i,j) = A(i,j)-d*A(k,j) Nextj b(i) = b(i) d * b(k) Next i Next кобратная подстановка
151. X(siz) = b(siz) / A(siz, siz) For i = siz -1 To 1 Step -1 Summa = 0 Forj = i + 1 To siz
152. Summa = Summa + A(i, j) * X(j) Nextj
153. X(i) = (b(i)-Summa)/A(i, i) Next i1. End Function
154. Возвраи^ает матрицу A(1 го N,1 to N) и B(1 to N)
155. Function MakeMatrixAB(Size As Byte, ArrayMatrix() As Double,arrA() As Double, anrB() As Double) 'Нахождение самой длинной строки в матрице. Результат: Maxl Dim Maxl%, MaxR%, R%, i%J%, Diagonal() As Double Erase Diagonal, arrB, arrA
156. ReDim Diagonal(l To Size), arrB(l To Size), arrA(l To Size, 1 To Size) MaxR = 0 For i = 1 To Size R = 0 For j = 1 To Size If ArrayMatnx(i, j) о 0 Then R = R + 1 Nextj
157. MaxR < R Then MaxR = R: Maxl = i Next i
158. Формирование диагональных коэффициентов. Результат: Diagonal(I to size) For i = 1 To Size Diagonal(i) = 0 Forj = 1 To Size1. (j о i) Then Diagonal(i) = Diagonal(i) + ArrayMatnx(j, i) Nextj Next i
159. Создание матрицы A(), добавление диагональных коэффициентов. Результат: А(1 to size, 1 to size) For i = 1 To Size Forj = 1 To Size If i = j Then arrA(i. j) = -Diagonal(i) ElsearrA(i, j) = ArrayMatrix(i, j) End If Nextj Nexti
160. Замена самой длинной строки матрицы на 1. Результат: готовая матрица Л(1 to size. 1 to size.) Forj = 1 To Size arrA(MaxL j) = 11. Next j
161. Создание вектора свободных членов результат В(1 to size) For j = 1 To SizearrBjj) = 0 Nextj airB(MaxI) = 1 End Function1. Модуль basWinVer.bas
162. Attribute VBName = "basWmVer" ' Определяет версию Windows Option Explicit
163. Private Type OSVERSIONINFO dwOSVersionlnfoSize As Long dwMaj or Version As Long dwMinorVersion As Long dwBuildNumber As Long dwPlatformld As Long szCSDVersion As String * 128 End Type
164. Private Const VERPLATFORMWIN32NT = 2 Private Const W.RPLATFORMWIN32WINDOWS = 1
165. Private Declare Function GetVersionEx Lib "kernel32" Alias "GetVersionExA" (lpVersionlnfonnation As OSVERSIONINFO) As Long
166. GetWindowsVersion = strOS & " " & Left(strMaintBuildlnfo. Len(strMaintBuildlnfo') I) End If End Function1. Модуль ExcelModule.bas
167. Attribute VBName = "ExcelModule" Option Explicit
168. Dim ExcelApp As Excel. Application Dim ExcelWorkbook As Excel.Workbook Dim ExcelSheet As Excel.Worksheet Private CurRow As Byte ' текущая строка
169. Sub RunExcelQ Oil Error GoTo ActiveXProblemfrmlnfo.Lbllnform = "Идет установка связи с Microsoft Excel. Ждите." fimlnfo. Height = 825 fnnlnfo.Show frmlnfo,Refresh
170. Set ExcelApp = CreateObject("Excel.Application")
171. Set ExcelWorkbook = ExcelApp.Workbooks. Add Set ExcelSheet = ExcelWorkbook.Worksheets(l) ExcelApp. Visible = True frmlnfo. Height = 1450frmlnfo.Lbllnform = "Идет передача данных. Ждите." &vbCrLf&
172. Для выхода в программу- необходимо закрыть MS Excel," &vbCrLf & "при необходимости сохранив данные."1. Call CopyToExcel1. Call DrawExcelChart1. Unload frmlnfo
173. MsgBox "Если необходимо, сохраните результаты и " & "диаграмму в Microsoft Excel.", vblnformation + vbOKOnly, "Выход из Excel" Set ExcelApp = Nothing Set ExcelWorkbook = Nothing Set ExcelSheet = Nothing Exit Sub
174. ActiveXProblem: Set ExcelApp = Nothing Set ExcelWorkbook = Nothing Set ExcelSheet = Nothing Unload frmlnfo
175. MsgBox "Ошибка при запуске Microsoft Excel. Либо v Вас не установлен Excel, либо эта версия Excel конфликтует с программой. При возникновении такой ошибки обратитесь к разработчику.", vbExclamation + vbOKOnly, "Ошибка" End Sub1. Private Sub CopyToExcelQ
176. Процедура CopyToExcel вызывается mnuExcelClick ' когда пользователь решает передать управление Excel.
177. Копирует данные, названия на лист, форматирует ячейки в соответствующий вид. Dim bCol As Byte, bRow As Byte, i As Byte
178. Копирует название диаграммы на лист. ,Cells(2,2).Font.Bold = True
179. Cells(2,2). Value = "Результаты анализа" & Space(5) & Now 'отчет о результатах ,Cells(4, l).Font.Underline = True .Cells(4, 1).Value = "Исходные данные:"1. CurRow = 5
180. Not Graph. AnalyzOneOrManyMod Then ' если анализ расширенный If Graph.Ко Vsem Then For i = 1 To ArrayUp If ModelNeed(i) Then
181. Cells(CurRow, 1).Value = "Во всех моделях выбрана вероятность:" & "р(" & Trim(str(FState(i). lMetric)) & ")" CurRow = CurRow + 1
182. Cells(CurRow, 1).Value = "Во всех моделях оценивается интенсивность:" & "L(" & Trim(str(FState(i).iCol)) & "," & Trim(str(FSlate(i).iRow)) & ")" Exit For End If Next l Else
183. Cells(5, 1). Value = txtComplex For i = 1 To ArrayUp If ModelNeed(i) Then CurRow = CurRow + 1 .Cclls(CurRow, 2). Value = "в модели " & FState(i).ModelName &":"& " p(" & Trim(str(FState(i).iMetric)) & ")" End If Nexti1. CurRow = CurRow + 1
184. Cells(CurRow, 1). Value = txtL For i = 1 To ArrayUp IfModelNeed(.i) Then CurRow = CurRow + 1 .Cells(CurRow, 2). Value = "в модели" & FState(i).ModelName & ":" &
185. L(" & Trim(str(FState(i).iCol)) & & Trim(str(FState(i).iRow)) & ")" End If Next i End If
186. Else ' если анализ нерасширенный CurRow = CurRow + 1
187. Cells(CurRow, 1). Value = "Назватгие модели: " & FState(Report.ModelSel).ModelName CurRow = CurRow + 1 If Report.KplxORpoVsem Then
188. Cells(CurRow, 1).'Value = txtComplex &
189. Space(5) & "p(" & Trim(str(FStatc(Report.ModelSel).iMetnc)) & ")" Else: .Cells(CurRow, 1).'Value = txtPoVsem End If
190. CurRow = CurRow + 1 .Cells(CurRow, 1). Value = txtL &
191. Space(5) & "L" & "(" & Trim(str(FState(Reporl.ModelSel).iCol)) & "," & Trim(str(FState(Report.ModelSel).iRow)) & ")" End If
192. CurRow = CurRow + 1 End With End Sub
193. Private Sub DrawExcelChartQ
194. Объявляет переменные для ChartObjecl и объекта Диаграмма. Dim Title As String Title = "Диаграмма"
195. Dim newChartObj As ChartObject Dim newChart As Chart Dim ChartTop As Integer On Error Resume Next If ExtAnaliz Then ChartTop = 325 Else ChartTop = 250 End If
196. Добавляет новый ChartObject к коллекции ChartObjects. Set newChartObj =
197. ExcelSheet.ChartObjects.Add(20, ChartTop. 400, 250)
198. Класс clsMemorySnapshotcls
199. Класс представляет собой простой интерфейс для доступа к информации о текущем состоянии памяти. Option Explicit
200. Private Type MEMORYSTATUS dwLength As Long dwMemoryLoad As Long dwTotalPhys As LongdwAvailPhys As Long dwTotalPageFile As Long dwAvailPageFile As Long dwTotalVirtual As Long dwAvailVirtual As Long End Type
201. Private Declare Sub GlobalMemoryStatus Lib "kemel32" (lpBuffer As MEMORYSTATUS) Public Property Get FreeMemoryO As Long
202. FreeMemory = mmemMemoryStatus.dwAvailPhys End Property
203. Public Property Get TotalMemoryO As Long
204. TotalMemory = mmemMemoryStatus.dwTotalPhys End Property
205. Private Sub ClassInitialize()mmeniMemoryStatus.dw Length = Len(mmemMemorySlutus) GlobalMemoryStatus mmemMemoryStatus End Sub1. Public Sub Refreshf)
206. GlobalMemoryStatus inmeniMemoryStatus End Sub1. Форма MDI.frm
207. GetSetting(App.Title, "Settings", "ViewTbr", True) Then mnuViewToolbar.Checked = Tme tbr. Visible = True End If
208. GetSetting(App.Title, "Settings", "ViewSb", True) Then mnuViewStatusBar.Checked = Tme Sb. Visible = True End If Show
209. ChDir App.Path: ReDim fGrid(l): ReDimFState(l)
210. ArrayUp = 1: fGriddlTag = 1: fGridf 1). Caption = "Безимени1"1. With FState(l)
211. Dirty = False: .ModelName = fCmd(l).Caption: .iCol = 0: .iMetnc = 0: .iRow = 0: .Path = "" End With
212. Call RefreshToolbar GetRecentFiles Unload frmSplash End Sub
213. Private Sub MDIFormUnload(Cancel As Integer) If Not AnyGridLeft() Then
214. Me.WindowState = vbNormal Then
215. SaveSetting App.Title, "Settings", "MainLeft", Me.Left SaveSetting App.Title, "Settings", "MainTop", Me.Top SaveSetting App.Title, "Settings", "MainWidth", Me.Width SaveSetting App.Title, "Settings", "MamHeight", Me.Height End If
216. SaveSetting App.Title, "Settings", "WindowState", Me.WindowState SaveSetting App.Title, "Settings", "ViewTbr", tbr. Visible SaveSetting App.Title, "Settings", "ViewSb", Sb.Visible End If
217. Unload frmGraph: Unload fnnlnfo Unload FrmReport: Unload frmResult Unload frmAbout
218. Unload FrmAnalyz: Unload FrmAnalyzl Erase fGrid: Erase FState End1. End Sub
219. Private Sub mnuAboutHelpClick() Dim RetVal As Long, HelpPath As String HelpPath = App.Path + "\matmodel.hlp" RetVal = Shell("winhlp32.exe 0" & HelpPath, 1) End Sub
220. Private Sub mnuAboutProgClick()frmAbout.Show vbModal End Sub
221. Private Sub mnuFileCloseClick()
222. Me.ActiveForm.FileClose End Sub
223. Private Sub mnuFileExitClick() ' Конец программы Unload Me End Sub
224. Private Sub mnuFileNc\vClick()1. FileNew End Sub
225. Private Sub mnuFileOpenClick()1. FileOpenProc End Sub
226. Private Sub mnuFileSaveClick()
227. MeActiveForm.FileSave End Sub
228. Private Sub mnuFileSaveAsClick()
229. Me.ActiveForm.FileSaveAs End Sub
230. Private Sub mnuOptionClick() Dim l As Byte, j As Byte For i = 1 To ArrayUp
231. Private Sub mnuOptionManyClick()1. FrmAnalyz.Show End Sub
232. Private Sub rmraOptionOneClick()1. FrmAnalyzl .Show End Sub
233. Private Sub innuOptionResultOClick()fnnResult.Show End Sub
234. Private Sub innuOptionResultGraphClick()frmGraph.Show End Sub
235. Private Sub mnuOptionResultReportClick()1. FrmReport. Show End Sub
236. Private Sub mnuRecentFileClick(Index As hiteger) If ExistFile(nmuRecentFile(Index).Caption) Then Exit Sub
237. OpenFile (mnuRecentFile(Index). Caption j GetRecentFiles End Sub
238. Private Sub mnuWmdowArrangeClick()
239. Me.Arrange vbArrangelcons End Sub
240. Private Sub nmuWindowCascadeClick()
241. Me.Arrange vbCascade End Sub
242. Private Sub mnuWindowTileHorClick()
243. Me.Arrange vbTileHorizontal End Sub
244. Private Sub nmuWindowTileVertClick()
245. Me.Arrange vbTileVertical End Sub
246. Private Sub mnuViewStatusBarClick() If mnuViewStatusBar.Checked Then1. Sb. Visible = FalsemnuViewStatusBar.Checked = False Else1. Sb. Visible = TruemnuViewStatusBar.Checked = True End If End Sub
247. Private Sub mnuViewToolBarClick() If mnuViewToolbar.Checked Then tbr. Visible = False mnuViewToolbar. Checked = False Elsetbr. Visible = True mnuViewToolbar.Checked = True End If End Sub
248. Case "About": frmAbout.Show Case "Help": mnuAboutHelpClick End Select End Sub1. Форма frmDBGr'uLfrm
249. Дочерняя форма для MDI.fivi Option Explicit Private mTotalRows& Private ArrUD() As Variant Private Const MAXCOLS = 50
250. Private Sub DBGKeyPress(Ke> Ascii As Integer)
251. Call KeyPressCheck(KeyAscii) End Sub
252. IsNull(StartLocation) Then If ReadPriorRows Then
253. CurRow& = RowBuf.RowCount -1 Else1. CurRow& = 0 End If Else
254. CurRowfe = CLng(StartLocation) + ilncr End If
255. For iRow = 0 To RowBuf.RowCount 1
256. CurRowfe < 0 Or CurRo\v& >= mTotalRows& Then Exit For For iCol = 0 To UBound(ArrUD, 1)
257. RowBuf. Value(iRow, iCol) = ArrUD(iCol, CurRow&) Next iCol
258. RowBuf.Bookmark(iRow) = CStr(CurRow&) CurRow& = CurRow& + ilncr iRowsFetched = iRowsFetched + 1 Next iRow
259. RowBuf.RowCount = iRowsFetched End Sub
260. Private Sub DBgUnboundWriteData(ByVal RowBuf As Row Buffer, WriteLocation As Variant) Dim iCol As Integer For iCol = 0 To MAXCOLS -1 If Not IsNull(RowBuf. Value(0, iCol)) Then
261. ArrUD(iCol, WriteLocation) = RowBuf. Value(0. iColj End If Next iCol End Sub1. Private Sub FormLoad()
262. ReDim ArrlJD(0 To MAXCOLS 1, 0 To MAXCOLS - 1) mTotalRowsfe = MAXCOLS Me. Show1. Dim i As Integer
263. For i = DBG.Columns.Count -1 To 0 Step -1
264. DBG.Columns.Remove i Next i
265. Dim strNum As String For i = 0 To MAXCOLS 1 strNum = Trim(str(i + 1)) DBG.Columns.Add i With DBG.Columns(i) .Alignment = dbgCenter .Width = 1000
266. Caption = "р(" & strNum & ")" .Visible = Tme End With
267. AirUD(i, i) = "A" & strNum Nexti
268. Call ToolsView(Trae) Call RefreshToolbar End Sub
269. Private Sub FormQueryUnload(Cancel As Integer, UnloadMode As Integer) Dim strMsg As Stnng Dim strFilename As String Dim intResponse As Integer
270. FState(Me.Tag).Path = "" ThenstrFilename = Me.Caption + ".mod" ElsestrFilename = Me.Caption End IfstrFilename = GetFileName(strFilename) If strFilename о "" Then SaveFileAs strFilename Case 71. Cancel = False Case 2
271. Cancel = True End Select End If End Sub
272. Private Sub FormUnload(Cancel As Integer) With FState(Me.Tag)
273. Deleted = True: .ModelName = "": .Path = "": .iCol = 0: .iMetnc = 0: .iRow = 0 End With1. Not AnyGridEeftO Then1. GetRecentFiles End If
274. Graph.Exist = False: Report.Exist = False IMainForm.mnuOptionResultReport.Enabled = False IMainForm.nmuOptionResultGraph.Enabled = False Call RefreshToolbar Dim i As Byte For i = 1 To ArrayUp
275. Not FState(i).Deleted Then Exit Sub Next l1. Call ToolsViewtTalse)1. End Sub
276. FState(Me.Tag).Dirtv = True End Sub1. Private Sub FormJResizeQ
277. DBG.Width = Me.ScaleWidth DBG.Height = Me.ScaleHeight1. End Sub1. Public Sub FileSaveQ
278. Public Sub DataFromGrid(curSize As Byte, Ait() As Variant) Dim bCol As Byte, bRow As Byte For bCol = 0 To curSize -1 For bRow = 0 To curSize -1
279. Arr(bCol, bRow) = ArrUD(bCol, bRow) Next bRow Next bCol End Sub
280. Public Property Let DataToGrid(BvVal bCol As Integer, ByVal bRow As Integer, ByVal vNewValue As Variant)
281. ArrUD(bCol, bRow) = vNewValue End Property
282. Public Property Get SizeOfMatnx() As Byte Dim bCol As Byte, vData As Variant ForbCol = 1 To MAXCOLS 1 vData = ArrUD(bCol, 0) If vData = "" Then Exit For Next bCol
283. SizeOtMatrix = bCol End Property1. Форма FrmResultfrm
284. Option Explicit Private Sub lstNameClick() Dim i As Integer
285. For i = 1 To LstName.ListCount + 1
286. LstName.Text = FState(i).ModelName Then Exit For Nexti
287. LstName.Text = "" Then Exit Sub Call ResultOut(fGrid(i)) Call CalcTime(fGrid(i))1. End Sub1. Private Sub CmdResClick()1. Unload Me End Sub1. Private Sub FormLoad()
288. Dim bCount As Byte, NmOfGrid As String LstName. Clear For bCount = 1 To ArravUp If ModelNeed(bCount) Then1.tName.Addltem FState(bCount).ModelName Next bCount txtSum.Text = ""1.tName.Text = LstName.List(O)1. Call Centered(Me)1. Show1. End Sub
289. Private Sub ResultOut(f As fnnGrid)
290. Result = Format(sum, "0.0000000") txtSum.Text = ""txtSum.Text = "Сумма p(i)=" & Trim(Result)1. End Sub
291. Private Sub CalcTime(f As frmGrid)
292. Dim Arr() As Double, siz As Byte, sum As Double, bCol As Byte, str As String LstTime.Clearsiz = f.SizeOfMatrix
293. Call UpdateArray(f, Arr, siz) For bCol = 1 To sizstr = "t(" & bCol & ")=" & Format(l / Arr(bCol, bCol), "ММ0МММГ) LstTime.Addltem str, bCol -1 Next bCol1. End Sub1. Форма frmGraphfrm1. Option Explicit
294. Dim iPoints As Byte, begin As Boolean
295. Private Sub cmdButtonClick(Index As Integer) Select Case Index
296. Case 1: PrintingForm 'Печать Case 2: SendDataToExcel 'Передать в Excel Case 3: Unload Me 'Закрыть End Select End Sub
297. Private Sub ButtonsShow() Dim i As Byte For i = 1 To 3cmdButton(i). Visible = True Next i1.pDn. Visible = True End Sub
298. Fix.Width = Me.Width Flx.Left - 300 End Sub
299. Private Sub PnntmgFormQ Dim i As Byte On Error GoTo missing For i = 1 To 3cmdButton(i). Visible = False Next i
300. Flx.SetFocus UpDn. Visible = False Me.PrintForm ButtonsShow1. Exit Sub missing:
301. MsgBox "Проверьте наличие принтера или связи с ним", vbCritical, "Ошибка при печати" ButtonsShow End Sub
302. Private Sub SendDataToExcel()1. Call RunExcel End Sub1. Private Sub UpDnChange()txt.Text = LTrim(str(UpDn. Value)) If begin Then Exit Sub
303. Graph. AnalyzOneOrManyMod Then CalcToGraphOne If Not Graph. AnalyzOneOrManyMod Then CalcToGraphMany FillDataToChart DrawChart End Sub
304. Private Sub AnalyzOne() Dim temp As Double, i As Byte 'отформатировать fix
305. Flx.TextMatnx(0, 0) = FState(Report.ModelSel).ModelName Flx.Cols = iPoints + 2 If Report.KplxORpoVsem Then Flx.Rows = 2
306. Flx.TextMatrix(l, 0) = " P" & LTrnn(str(FState(Report.ModelSel).i.VletricV) Else
307. Flx.Rows = Report. Size + 1 For i = 1 To Flx.Rows 1
308. Fix.TextMatrix(i, 0) = " P" & LTrim(str(i)) Next i End If
309. CalcToGraphOne FillDataToChart DrawChart End Sub
310. Private Sub ManyMod() Dim i As Byte, tlxRowCount As Byte flxRowCount = 0 For i = 1 To ArrayUp If ModelNeed(i) ThenflxRowCount = flxRowCount + 1 Flx.Rows = flxRowCount + 1
311. Fix. TextMatrix( flxRowCount, 0) = FState(i).ModelName End If Next l1. CalcToGraphMany
312. FillDataToChart DrawChart End Sub1. Public Sub DrawChart()
313. On Error Resume Next With Chart. Legend1.cation.LocationType = VtChLocationTvpeTopLeft .Location. Visible = True End With
314. Chart. ChartData = Array ToChart Chart. Visible = True: Graph.Exist = True Call RefreshToolbar1. End Sub
315. Call UpdateArray(fGrid(Report.ModelSel), Arr, Report.Size) i = 0 Do i = i+ 1
316. Arr(FState(Report.ModelSel).iRow,
317. FState(Report.ModelSel).iCol) = temp Call MakeMatrixAB(Report.Size, Arr, newArr, b) Call GAUSSMETHOD(newAnr, Report.Size, b, p) If Report.KplxORpoVsem Then Flx.TextMatrix(0, i) = Format(temp, "0.#######")
318. Flx.TextMatrix(l, i) = Fonnat(p(FState(Report.ModelSel).iMetnc), "0MMMM") Else
319. Flx.TextMatrix(0, i) = Format(temp, "0.####»") Forj = 1 To Flx.Rows -1
320. Flx.TextMatrix(j, i) = Format(p(j), "0.###№№) Nextj End Iftemp = temp + step Loop While temp < Graph.ParamMax + step / 20 End Sub
321. Private Sub CalcToGraphManyO Dim Arr() As Double, pQ As Double, b() As Double, ncwArrQ As Double Dim step As Double, temp As Double
322. Dim bRow As Byte, bCol As Byte, SelMod As Byte, ModSize As ByteiPoints = Val(Trim(txt.Text)) -1 Flx.Cols = iPoints + 2step = (Graph.ParamMax Graph.ParamMiu) / iPoints For bRow = 1 To Flx.Rows -1 For SelMod = 1 To ArrayUp
323. Flx.TextMatrix(bRow, 0) = FState(SelMod)ModelName Then Exit For Next SelMod
324. ModSize = fGrid( SelMod). SizeOfMatnx Call UpdateArray(fGrid(SelMod), Arr, ModSize)temp = Graph. ParamMin: bCol = 0 DobCol = bCol + 1 Arr(FState(SelMod).iRow,
325. FState(SelMod\iCol) = temp Call MakeMatnxAB(ModSize, Ait, newArr, bj Call GAUSSMETHOD(newArr, ModSize, b, p) Flx.TextMalnx(0, bCol) = Fonnat(temp, "01MMM")
326. Flx.TextMatrix(bRow, bCol) = Format(p(FState(SelMod).iMetnc), "0.#######") temp = temp + step1.op While temp < Graph.ParamMax + step / 20 Next bRow End Sub
327. Private Sub FillDataToChart()
328. Подготовка массива к диаграмме. Dim i As Byte, j As Byte
329. ReDim ArrayToChartO To Fix. Cols. I To Flx.Rows) For i = 2 To Flx.Rows ' Установка лейблов полей.
330. ArrayToChart(l, l) = Flx.TextMatrix(i -1,0) Next i
331. For j = 2 To Flx.Cols ' Установка лейблов колонок.
332. Array I'oChartCj, 1) = str(Flx.TextMatrix(0,j -1)) Nextj
333. For i = 2 To Flx.Rows 'Заполнение массива данными. For j = 2 To Flx.Cols
334. ArrayToChart(j, i) = CDbl(Flx.TextMatrix(i -1, j -1)) Nextj Next i End Sub1. Форма frmAboutDisser.frm1. Option Explicit
335. Const READCONTROL = &H20000 Const KEYQUERYVALUE = &H1 Const KEYSETVALUE = &H2 Const KEYCREATESUBKEY = &H4 Const KEYENUMERATESUB JCEYS = &H8 Const KEYNOTIFY = &H10 Const KEYCREATELINK = &H20
336. Const KEYALLACCESS = KEYQUERYVALUE + KEYSETVALUE + KEYCREATESUBKEY + KEYENUMH1^ATESUBKEYS + KEYNOTIFY + KF. YCREATELINK + RFADCONTROL Const HKEYLOCALMACHINE = &H80000002 Const ERRORJ3UCCESS = 0 Const REGSZ = 1 Const REG DWORD = 4
337. Const gREGKEYSYSMFOLOC = "SOFTWARE\Microsoft\Shared Tools Location-Const gREGVALSYSINFOLOC = "MSINFO"
338. Const gREGKEYSYSDMFO = "SOFTWARE\Microsoft\Shared Tools\MSINFO" Const gREGVALSYSINFO = "РАТИ"
339. Pnvate Declare Function RegCloseRey Lib "advapi32" (ByVal hKey As Long. As Long
340. Private Sub cmdSysInfoClick()1. Call StartSysInfo End Sub1. Private Sub cmdOKClick()1. Unload Me End Sub1. Private Sub FormLoad()
341. With clsMem Me.LblTotalRAM = Format(.TotalMemory \ 1024, "###,###,»,###,##0") & " KB" Me.LblFreeRAM = Format(.FreeMemorv \ 1024.m, ш,да, ##o") &" kb"
342. End With Set clsMem = Nothing Call Centered(Me) End Sub
343. Public Sub StartSysInfoO On Error GoTo SysInfoErr Dim rc As Long Dim SysInfoPath As String
344. Call Shell(SysInfoPath, vbNormalFocus) Exit Sub SysInfoErr:
345. MsgBox "Реформация Системы в данный момент не доступна.", vbOKOnly End Sub
346. Select Case KeyValType Case RF.GSZ
347. KeyVal = tmpVal Case REGJDWORD For i = Len(tmpVal) To 1 Step -1
348. KeyVal = KeyVal + Hex(Asc(Mid(tmpVal. l, 1))) Next
349. KeyVal = Format$("&h" + KeyVal) End Select GetKey Value = True rc = RcgCloseKey(hKey) Exit Function GetKeyError:
350. KeyVal = "" : GetKey Value = False : rc = RegCloseKey(hKey) End Function Форма frmSplashDisser. frm1. Option Explicit
351. Private Declare Sub SetWindowPos Lib "user32" (ByVal hWnd As Long. ByVal hWndlnsertAfter As Long, By Val x As Long, ByVal у As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long )1. Private Sub FormLoad()
352. Const IiWNDT0PM0ST = -1 Const SWPNOMOVE = 2 Const SWPNOSI7,E = 1 Const FLAGS = SWPNOMOVE Or SWP NOSIZE
353. Screen.MousePointer = vbHourglass SetWmdowPos hWnd, HWNDTOPMOST, 0,0,0,0, FLAGS ChDir App.Path Me.Picture = LoadPicture(" shipping.jpg") Call Centered(Me) End Sub
354. Private Sub Form JJnload(Cancel As Integer)
355. Screen.MousePointer = vbDefault End Sub1. Форма frmInformation.frmption Explicit
356. Const FLAGS = SWPNOMOVE Or1. SWPNOSIZE
357. Screen.MousePointer = vbHourglass SetWindowPos hWnd, HWNDTOPMOST, 0, 0, 0, 0, FLAGS Lbllnform = "" Call Centered(Me) End Sub
358. Private Sub FormUnload(Cancel As Integer)
359. Screen.MousePointer = vbDefault End Sub1. Форма FrmAnalvz-frm
360. Private Sub cmdResultClick() If Not Checking Then Exit Sub SaveSetting App.Title, "Options", "ChkKoVsem",
361. ChkKo Vsem. Value Graph.ParamMin = Val(Trim(txtMean(0).Text)) Graph .ParamMax = Val(Trim(txtMean(l).Text)) Graph.AnalyzOneOrManyMod = False Graph.KoVsem = ChkKo Vsem. Value frmGraph.Show Unload Me End Sub
362. Private Sub FormLoad() Dim i As Byte, bCount As Byte Unload FrmAnalyzl For l = 0 To 2
363. UD(i ).BuddvC ontrol = txtl(i) Next ltxMean(0).Text = str(Graph.ParamMin) txMean(l).Text = str(Graph.ParamMax) 'наполнение
364. Call FillCbo(Cbo) 'вывести из реестра: ChkKoVsem. Value = GetSettmg(App.Title, "Options", "ClikKoVsem". 0) ChkKoVsemClick Centered Me
365. MainForm.Sb.Panels(l).Text = "Введите данные" fMainForm. Sb. Refresh End Sub
366. Private Sub cmdCloseClick()1. Unload Me End Sub
367. Private Sub ChangeCbo() Dim j As Byte, s As Byte For ModSel = 1 To ArrayUp
368. Cbo.Text = FState(ModSel).ModelName Then s = fGrid(ModSel). SizeOfMatrix flgUD = False1. For j = 0 To 21. UD(j).Max = s Next j
369. FState(ModSel).iMetric о 0 Then UD(2). Value = FState(ModSel).iMetric Else UD(2). Value = 1 If FState(ModSel).iCol о 0 Then
370. UD(0). Value = FState(ModSel).iCol Else UD(0). Value = 1 If FState(ModSel).iRow <> 0 Then
371. UD(1). Value = FState(ModSel).iRow Else UD( 1). Value = 1flgUD = True
372. Exit For End If Next ModSel End Sub1. Private Sub CboClick()1. Call ChangeCbo End Sub
373. Private Sub FormatUpDn(rez As Byte) Dim i As Byte, MinSize As Byte, MinGrid As Byte Dim s As Byte, begin As Boolean, j As Byte If rez = 1 Then begin = True1'or l = 0 To Cbo.ListCount -1
374. For j = 1 To ArrayUp ' находим номер Грида: j
375. Cbo.List(i) = FState(j).ModelName Then Exit For Nextj
376. Not begin Then 'находим минимальную матрицу s = fGrid(j). SizeOfMatrix If MinSize > s Then MinGrid = j: MinSize = s Else
377. MinSize = fGrid(j). SizeOfMatrix: MinGrid = j begin = False End If Next i
378. Forj = 0 To 2 'форматируем UpDn's1. UD(j).Max = MinSize Nextjинициализируем tlgUD = False " UD(2). Value = 1 UD(0). Value = 1 UD(1). Value = 1 flgUD = True
379. Else 'иначе просто обновляем C.ho
380. Call ChangeCbo End If End Sub
381. Private Function Checking() As Boolean Dim i As Byte, j As Byte For i = 0 To Cbo.ListCount -1 For j = 1 To ArrayUp
382. Cbo.List(i) = FState(j).ModelName Then If FState(j).iCol = 0 Then FState(j).iCol = 1 If FState(j).iRow = 0 Then FState(j).iRow = 1 If FState(j).iCol = FState(j).iRow Then Cbo.Text = Cbo.List(i): Call ChangeCbo txtl(0).SetFocus
383. MsgBox "Введите данные правильно: диагональные элементы представляют собой сумму. поэтому не могут выбраны в качестве оцениваемого параметра.(т.е. i не может быть равно j)", vbExclamation + vbOKOnlv. "Ввод данных" Checking = False: Exit Function End If
384. FState(j).iMetric = 0 Then FState(j).iMetric = 1 End If Next j Next i1. txtMean(0).Text = "" Then
385. MsgBox "Введите минимальное значение оцениваемого параметра.", vbExclamation + vbOKOnlv. "Ввод данных" txtMean(0). SetFocus Checking = False: Exit Function End If1.txtMean(l).Text= "" Then
386. MsgBox "Введите максимальное значение оцениваемого параметра.", vbExclamation + vbOKOnlv. "Ввод данных" txtMean( 1). SetFocus Checking = False: Exit Function End If1. txtMean(0).Text = txtMean(l ).Text Then
387. MsgBox "Минимальное и максимальное значения оцениваемого параметра равны. Будьте внимательны при вводе данных!", vbExclamation + vbOKOnlv, "Ввод данных" txtMean( 1). SetFocus Checking = False: Exit Function End If Checking = True End Function
388. Public Property Get UseForAllModel() As Boolean
389. UseForAllModel = ChkKoVsem. Value End Property
390. Private Sub FormUnload(Cancel As Integer)1. Unload Me End Sub
391. Private Sub txtMeanGotFocus(hidex As Integer) txtMean(Index). SelStart = 0txtMean(Index).SelLength = Len(txtMean(Index).Text) End Sub
392. Private Sub txtMeanKeyPress(Indcx As Integer, KeyAscii As Integer)
393. KeyAscii = CheckUp(KeyAscii) End Sub
394. Dim flagCommentEntered As Boolean, strP As String, g(l To 4) As Long, s(l To 4) As String
395. Private Sub cmdCloseClick()1. Unload Me End Sub1. Private Sub cmdtxtClick()
396. ReturnValue = Shell("NOTEPAD.EXE " & filename, 1) If RetumValue = 0 Then
397. MsgBox "He найден файл C:\WINDOWS\notepad.exe" & vbCrLf & "Ре зульта ты сохранены в текстовом файле Result.txt". vbExclamation + vbOKOnly, "Поиск файла"1. Exit Sub End If End Sub
398. Private Sub FormLoad() Dim i As Byte, j As Byte, strO As String, strl As String, str2 As String
399. Flx.TextMatrix(0, 1) = Report.First Flx.TextMatrix(0,2) = Report.Second Flx.TextMatrix(0, 3) = Report. Third Flx,TextMatrix(0,4) = Report.Forth
400. Call UpdateArray(fGrid(Repoit.ModelSel), Ait, Report.Size) If Report. Kplx OR jo Vsem Then Flx.Rows = 2
401. Flx.TextMatrix(l, 0) = " P" & LTrim(sti(FState(Report.ModelSel).Metric))1. Else
402. Flx.Rows = Report.Size + ! Forj = 1 To Report.Size
403. Fix.TextMatrix(j, 0) = " P" & LTrim(str(j)) Next j End If1. For i = 1 To 4
404. Arr(FState(Reporl.ModelSel).iRow, FState(Report.ModelSel).iCol) =
405. Flx.TextMatrix(j. i) = Format(p(j), "О.ШОООО") Next j End If Next i
406. Report. KplxORpo Vsem Then Call ArrangeArr(q, g) Call PrintData("", 1) Else
407. TxtResult.Text = strO & strl & str2 & strP flagCommenffintered = False
408. Report.Exist = True Call RefreshToolbarfMainl;orm.Sb.Panels(l).Text = "Для вызова справки нажмите FI" fMainForm.Sb.Refresh End Sub
409. Private Sub TxtResultChange() flagCommentEntered = True End Sub
410. Private Sub PrintData( A As String, row As Byte) Dim i As Byte, temp As String, R As String For i = 1 To 4 temp = Space(5) & s(i) & Flx.TextMatnx(0, g(i)) & Space(3) & "значение: " & Flx.TextMatrix(row, g(i)) & vbCrLf R = R + temp Next l
411. А о "" Then R = A & vbCrLf & R strP = strP + R End Sub1. Форма FrmAnalvzl.frm1. Option Explicit
412. Private bKomplexORpoVsem As Boolean Private ModSel As Byte, flgUD As Boolean1. Private Sub CboChck()1. Call ChangeCbo End Sub
413. Private Sub cmdResultClick() If Not Checking Then Exit Sub InitialVarToExit If ChkGraph. Value = 1 Then
414. Graph. ParamMin = Val(Trim(txtMean(0).Text)) Graph. ParamMax = Val(Trim(txtMean(3).Text)) Graph.AnalyzOneOrManyMod = True frmGraph.Show End If1. ChkReport. Value = 1 Then
415. Report.First = Val(Tnm(txtMean(0).Text)) Report.Second = Val(Trim(txtMean(l).Text)) Report. Third = Val(Tnm(txtMean(2).Text)) Report.Forth = Val(Trim(txtMean(3).Text)) FrmReport. Show End If1. Unload Me End Sub
416. Private Sub emdCloseClick()1. Unload Me End Sub
417. Private Sub FormLoad() Dim i As Byte. bCount As Byte Unload FrmAnalyz For i = 0 To 2
418. GetSetting(App.Title, "Options", "bKomplexORpoVsem", True)
419. Private Sub FormUnload(Cancel As Integer)1. Unload Me End Sub
420. Private Sub optClick(Index As Integer) If Index = 3 Then1.bel2(5). Enabled = True txtl (2).Enabled = Tme UpDnl (2).Enabled = Tme Elself Index = 2 Then Label2(5).Enabled = False txtl(2).Enabled = False UpDnl (2).Enabled = False End If End Sub
421. Private Sub txtMeanKeyPress(Index As Integer, KeyAscii As Integer)
422. KeyAscii = CheckUp(KeyAscii) End Sub
423. Private Sub txtMeanGotFocus(Index As Integer) txtMean(Index). SelStart = 0txtMean(Index).SelLength = Len(txtMean(Inde\j.Text) End Sub
424. Private Sub UpDnlChange(Index As Integer)txtl(Index).Text = I,Trim(str(UpDnl (Index). Value)) If Not tlgUD Then Exit Sub Select Case Index Case 0: FState(ModSel).iCol = UpDnl(0).Value
425. Case 1: FState(ModSel).iRow = UpDnl(l).Value Case 2: FState(ModSel).iMetric = UpDnl (2). Value End Select End Sub
426. Fori = 0 To 3 IftxtMean(i).Text = "" Then MsgBox "Введите значения оцениваемого параметра.". vbExclamation + vbOKOnlv. "Ввод данных" txtMean(i). SetFocus Ex = True Exit For End If Next l
427. Ex Then Checking = False: Exit Function
428. ChkGraph. Value = 0 And ChkReport. Value = 0 Then
429. MsgBox "Хотя бы один из способов представления результата должен быть выбран.". vbExclamation + vbOKOnlv. "Ввод данных"
430. Checking = False: Exit Function End If
431. Checking = True End Function
432. Private Sub ChangeCboQ Dim j As Byte, s As Byte For ModSel = 1 To ArrayUp If Cbo.Text = FState(ModSel).ModelName Then s = fGrid(ModSel).SizeOfMatrixflgUD = False For j = 0 To 21. UpDnl (j).Max = s Next j
433. End If Next ModSel End Sub
434. Возможности и порядок использования компьютерной программы.1. Назначение:
435. Исследования моделей, имеющих до 50 состояний.
436. Анализ одной модели по комплексному показателю, либо по всем вероятностям.
437. Сравнительный анализ параметров нескольких моделей при выбранном комплексном показателе эффективности работы системы.
438. Представление результатов в текстовой форме, в виде графиков, а также печать и сохранение на дисковом накопителе.
439. Получение значений вероятностей и времени пребывания в любом из состояний.
440. Для более эффективного представления и хранения результатов исследований необходимо установить на Вашем компьютере версии 8.0 или выше.
441. При текстовом представлении результаты последних проведенных исследовании можно всегда найти в файле Result.txt, расположенном в папке программы.1. Требования к системе:
442. Программа выполнена в среде Microsoft Visual Basic 5.0, поэтому переносит условия работы в Windows 95.
443. Для удовлетворительной работы «Разработчика.» достаточным количеством оперативной памяти будет 8 Mb, а для параллельной работы с 16 Mb.
444. Специальные требования к процессору не предъявляются: достаточным будет 486 или Pentium-S.1. Использование программы:
445. Результаты могут быть представлены в следующих формах: Предварител ьная :
446. График функций представляет собой графические зависимости вероятности (ось У) от интенсивности переходов (ось X). График строится на основании данных, заданных в формах анализа одной или нескольких моделей и открытых (исследуемых) матрицах.
447. Нажатием кнопки «Печать» график функций, таблица и значение интервала выводятся на печать (при установленном принтере).
448. Форма анализа одной модели:
-
Похожие работы
- Методика оценивания показателей функционирования эргатической системы управления морским судном
- Методика оценивания навигационной безопасности и готовности к судоходству международного транспортного коридора "север - юг" на примере участка реки Нева
- Метод и метаматические модели оценивания готовности однокамерных судоходных шлюзов
- Метод и математические модели оценивания готовности однокамерных судоходных шлюзов
- Информационное обеспечение оценивания эргатического ресурса для управления энергетическим комплексом судна
-
- Транспортные и транспортно-технологические системы страны, ее регионов и городов, организация производства на транспорте
- Транспортные системы городов и промышленных центров
- Изыскание и проектирование железных дорог
- Железнодорожный путь, изыскание и проектирование железных дорог
- Подвижной состав железных дорог, тяга поездов и электрификация
- Управление процессами перевозок
- Электрификация железнодорожного транспорта
- Эксплуатация автомобильного транспорта
- Промышленный транспорт
- Навигация и управление воздушным движением
- Эксплуатация воздушного транспорта
- Судовождение
- Водные пути сообщения и гидрография
- Эксплуатация водного транспорта, судовождение
- Транспортные системы городов и промышленных центров