Windows 

Как мы в «1С: Предприятии» решаем системы алгебраических уравнений. Примеры информационных систем управления предприятием По конфигурированию бухгалтерской подсистемы прикладных решениях

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

Чего Вы тут не найдете:
1. Платформы
2. Конфигураций тут нет и не будет
3. По данной теме запрещено размещать методическую литературу от 1С, в частности "СБОРНИК ЗАДАЧ"
4. Халявы тут тоже нет, задачи не будут выкладываться в готовом виде, кроме внешних отчетов, все задачи нужно будет проделать самостоятельно

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

Немного информации:
Если Вы собрались сдавать экзамен на специалиста для начала обратитесь к сайту 1С и ознакомьтесь с рекомендациями от 1С.
На данном форуме администрация вместе с сообществом модераторов запретила выкладывать любую литературу защищенную авторскими правами в свободный доступ, посему второе что Вам нужно сделать - это приобрести комплект вопросов. Многие конечно могут скачать с любого сайта скан книги и остаться довольным, я же со своей стороны люблю книги, люблю их держать в руках и читать с них, причем если приобрести её не составляет труда, когда то я бы и больше за книгу заплатил, но их просто не было и вопросов ни кто не знал.
Все задачи рассматриваются по данному сборнику задач: http://v8.1c.ru/meto...book.jsp?id=400
Все вопросы рассматриваются на примере программного продукта "1С: Бухгалтерия предприятия, ред. 3.0 (3.0.21.11)" и платформе 8.2.18.102
Все задачи разделены на отдельные блоки

1 .Давальческое производство
Организации из-за отсутствия у них соответствующего оборудования, рабочей силы могут передавать материалы на давальческой основе сторонней организации, заключив с ней договор на переработку, доработку, обработку и иную трансформацию.
У сторонней организации (далее - организация-переработчик) эти материалы считаются давальческим сырьем.
Давальческое сырье - это материалы, принятые организацией от заказчика для переработки (обработки), выполнения иных работ или изготовления продукции без оплаты стоимости принятых материалов и с обязательством полного возвращения переработанных (обработанных) материалов, сдачи выполненных работ и изготовленной продукции (п. 156 Методических указаний по учету материально-производственных запасов, утвержденных приказом Минфина России от 28.12.2001 № 119н).
Учет операций передачи и обработке давальческого сырья, возврата продукции изготовленного из давальческого сырья учитываются по разному в зависимости от того с какой стороны (организации) рассматривается учет давальческого сырья (Заказчика или переработчика).
Все необходимые материалы Вы можете получить с ресурса ИТС-онлайн по ссылке

Осуществляется консультирование по техническим вопросам работы с программными продуктами "1С"

Описание

Проекту автоматизации в компании предшествовал внутренний проект консалтинга, в ходе которого сформировалась методика организации архива финансовых документов.
В ходе консалтингового проекта были подготовлены:
1. Альбом унифицированных форм первичной учетной документации ГК "Содружество"
2. Унифицированный регламент документооборота Группы, адаптированный для применения системы электронного архива и обмена юридически значимыми документами.
3. Регламент бизнес-процессов работы с системой электронного архива первичных финансовых документов и системой электронного документооборота юридически значимых документов.
4. Функциональные требования для реализации системы.
5. Функциональные требования к интеграции системы электронного архива и учетной системы.

В организационные рамки проекта были включены 23 российские компании, входящие в состав ГК «Содружество».
Цель проекта: создание общего центра обработки первичных финансовых документов, включая:
1. Единый электронный архив (скан-образы оригиналов документов, электронно-цифровые документы);
2. Автоматизация процессов обработки и передачи документов (внутри группы - 23 юр.лица ГК, внешние контрагенты);
3. Быстрый поиск и подбор документов (для контролирующих органов, судов, аудиторов и др. целей бизнеса);
4. Повышение контроля качества, полноты и достаточности содержания документов.

Для реализации поставленных целей специалистами ГК "Содружество" была выбрана система 1С:Документооборот КОРП. Данный программый продукт был выбран на основании следующих критериев:
1. Наличие системы электронного архива.
2. Готовое решение интеграции с 1С-ЭДО и наличие плана по включению 1С-ЭДО в типовое решение 1С:Документооборот.
3. Менее трудоемкая интеграция с учетными системами 1С.
4. Наличие штатной учетной системы 1С.

В ходе проекта были доработаны и настроены следующие подсистемы конфигурации 1С:Документооборот 8 КОРП:
1. Подсистема электронного архива документов бухгалтерского и налогового учета ГК с группировкой документов в пакеты (комплекты) по типу хозяйственной операции.
2. Подсистема автоматической маршрутизации документов по бизнес-процессам, с использованием условий маршрутизации поь типу хозяйственной операции.
3. Подсистема сканирования документов и оптического распознования скан-копий документов.
4. Подсистема бесшовной интеграции с учетной системой 1С:УПП 1.2.
5. Адаптирован и внедрен модуль 1С-ЭДО.

Особенности проекта:
1. Проект полностью дистанционный.
2. Система оптического распознавания ДокНет была доработна для 20 форм первичных бухгалтерских документов.
3. Был встроен и доработан модуль 1С-ЭДО в программный продукт 1С:ДО КОРП.
4. Часть работ в проекте выполнялась силами Заказчика. Работы, выполняемые Исполнителем: разработка технического задания, разработка и настройка протопипа системы, функциональное тестирование системы по ПМИ, разработка Руководства администратора системы, запись обучающих видео-уроков для пользователей, сопровождение в период опытной эксплуатации системы.
Работы, выполняемые Заказчиком: перенос настроек в рабочую среду, разработка пользовательских инструкций, обучение пользователей.

Итоги:
1. Система оптического распознования
а) Программный продукт ДокНет был адаптирован для работы с 1С:ДО
б) Доработаны и настроены для распознования 23 формы входящих и внутренних документов (типовые и нетиповые).
в) Доработана карточка внутреннего документа 1С:ДО.

2. Обработка внутреннего документа: разработано и настроено
а) 38 видов документов,
б) 6 шаблонов процессов,
в) 14 автоподстановок,
г) 27 условий маршрутизации,
д) 5 видов уведомлений как для пользователей системы внутри, так и для неподключенных пользователей (на e-mail)

3. Автозаполнение реквизитов карточки в учетной системе: реализован механизм интеграции, по которому на основании заполненного и утвержденного в ходе обработки комплекта документов в системе 1С:ДО, в учетной системе создаются соответствующие документы с сохранением связей.

4. Бесшовная интеграция с учетной системой а) Интеграция с 1С:УПП 1.2 (доработка DMIL) б) настроены правила интеграции для 34 видов документов. в) работа с задачами, документами и скан-образами напрямую из учетной системы.

5. Подсистема обмена юридически значимыми электронными документами (1С-ЭДО)
а) внедрен модуль 1С-ЭДО в 1С:ДО,
б) согласование и подписание документов ЭДО электронной подписью в программе 1С:ДО в соответствии с настроенными маршрутами,
в) возможность обмена ЭД из системы 1С:ДО,
г) отслеживание статуса ЭД.

6. Контроль разработано 5 отчетных форм, позволяющих осуществлять различные уровни контроля на различных стадиях обработки документов.
Ожидаемые эффекты от внедрения:
1. Сокращение времени на ввод первичных документов в 2 раза.
2. Ввод 1 комплекта документов по 1 сделке - вместо 15 мин - 3-7 минут (при 7000 операций в месяц экономия более 800 чел/час.
3. Разграничение полномочий пользователей СЭА (работа сканировщиков только с контентом сканирования/распознавания, работа бухгалтеров с документами по функциональной принадлежности, контроль за полнотой документов и корректности отражения в учете со стороны руководителей отделов бух, юр и др.
4. Упорядочивание процессов и времени обработки документов специалистами бухгалтерии (согласование, утверждение, автоматическая маршрутизация по ТХО).
5. Сокращение затрат при использовании ЭДО.
6. Сокращение затрат на подбор документов для контролирующих органов, аудиторов и т.д. (отчетов, скан-копий документов в СЭА)
7. Организованная инфраструктура для ОЦО.
8. Контроль принятия оригиналов документов от инициаторов сделок.

Развитие системы
1. Полная автоматизация попакетного потокового ввода документов.
2. Передача через 1С-ЭДО произвольных электронных документов.
3. Повышение юзабилити системы.
4. Развитие "локального ЭДО" (обмен ПУД в электронном виде между подразделениями: цеха, склады и т.п.)

Выполнены следующие работы:

Консультации по выбору программного обеспечения и вариантов его сопровождения
Сбор и анализ требований заказчика к автоматизированной системе
Планирование этапов работ, составление календарного плана работ
Методическое обеспечение специфических особенностей учета и управления в системе автоматизации (требования к адаптации)
Создание интерфейсов и наборов прав пользователей
Техническая реализация специфических особенностей учета и управления в системе автоматизации (адаптация)
Интеграция с другими системами на базе "1С:Предприятия"
Начальные настройки типового/отраслевого решения (программы) для начала ведения учета
Обучение в группе в учебном классе партнера "1С"

Работы по адаптации типового решения:

- Настройка нормативно-справочной информации;
- Настройка видов документов;
- Формирование справочника "Организации";
- Формирование справочника "Пользователи";
- Формирование групп пользователей;
- Формирование групп доступа пользователей;
- Выполнена настройка связей документов;
- Внедрена система оптического распознавания документов;
- Внедрен модуль обмена юридически значимыми документами;
- Настроены бизнес-процессы обработки документов;
- Доработана и настроена бесшовная интеграция с учетной системой 1С:УПП ред. 1.2;
- Разработаны отчеты по "контрольным" задачам и документам.

Внедрение

ГК "Содружество"

ГК «Содружество» – международная агропромышленная группа. Один из крупнейших частных инвесторов в агропромышленный сектор экономики России, в самые передовые разработки. 75 место в рейтинге "РБК 500: Крупнейшие компании России» за 2016 год.
ГК "Содружество" - один из крупнейших переработчиков семян масличных культур в Европе, производственные комплексы в России, Бразилии и др.странах. Компанией созданы центр глобальной торговли(с штаб квартирой в Люксембурге) и уникальная сеть хранения и дистрибуции для обеспечения активной деятельности не только в России и СНГ, но и в странах Европы, Средиземноморья и Ближнего Востока, Центральной и Латинской Америки.
ГК "Содружество" обладает современной портовой инфраструктурой и возможностями для перевалки грузов. Первый в России специализированный порт на Балтийском море.
Также является одним из крупнейших в России собственников железнодорожных вагонов.

Общая численность компании: 2000

Калининградская обл, г Светлый, Октябрь 2018

Вариант работы: Клиент-серверный (сервер базы данных: Microsoft SQL Server )

Общее число автоматизированных рабочих мест: 100

Количество одновременно работающих клиентов

Параметры

Количество видов документов - 38 шт.
Количество вводимых документов в день - до 500 шт

«1С:Библиотека стандартных подсистем» (далее БСП) предназначена для разработок на базе «1С:Предприятие». Исходная версия БСП, созданная в 2010, разрабатывалась для конфигурирования решений самой 1С. Таким образом, в основе всех типовых продуктов, выпускаемых 1С, лежит БСП.

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

Установка БСП. Файлы поставки

БСП – это не решение, это всего лишь инструмент для программиста. Ее нет в продаже, ее получают по подписке на ИТС заказчики или франчайзи 1С.

Установка библиотеки


Рис.1

Следуя за установщиком, проходим шаги и жмем «Готово».


Рис.2


Рис.3


Рис.4

Добавляем новую информационную базу по кнопке «Добавить» и выбираем «Создание новой информационной базы», и далее – до нажатия «Готово».


Рис.5


Рис.6


Рис.7


Рис.8


Рис.9


Рис.10

Поставка БСП включает демо-базу с вариантом установки и следующие файлы:

  • 1Cv8.cf файл поставки библиотеки, не предназначенный для создания ИБ по шаблону;
  • 1Cv8_international.cf файл поставки международной версии библиотеки, также не предназначен для работы с шаблонами;
  • 1Cv8_demo.dt демобаза;
  • 1Cv8_demo.cf файл поставки демобазы.



Рис.11


Рис.12

Данный пример рассматривается с использованием версии 3.0.1.240. Файлы конфигурации расположены в подкаталоге \1c\SSL\3_0_1_240\. Обращаем внимание, что данная версия используется с платформой 1С 8.3 не ниже версии 8.3.12.1412.

При установке библиотеки можно столкнуться с «Ошибкой SDBL. Таблица или поле ConfigVersion не содержится в разделе FROM».


Рис.13

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


Рис.14

Помощник внедрения БСП



Рис.15


Рис.16

ПервоеВнедрениеБСП.epf – внешняя обработка, название которой говорит само за себя. С ее помощью можно отобрать подсистемы под внедрение, учитывая их взаимосвязи, оставить настройки для сравнения (объединения), удалить избыточные, неиспользуемые фрагменты кода подсистем.

Пошаговый помощник доступен из раздела «Инструменты разработчика-Первое внедрение БСП».



Рис.17

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



Рис.18

Рис.19



Рис.20

Прописываем доппараметры для каждой выбранной нами подсистемы.

Переносим данные, согласно нашей настройке, в создаваемую, пустую конфигурацию.В режиме «Конфигуратор» заходим в нее.



Рис.21

Для наглядности переименуем ее в «Моя_конфигурация».

В первый раз в режиме конфигуратора указываем «Конфигурация-Сравнить, объединить с конфигурацией из файла», указав в диалоге файл поставки библиотеки и подтвердив запрос о поддержке.



Рис.22

На вопрос «Выполнить полную загрузку конфигурации?» отвечаем отрицательно.



Рис.23



Рис.24

Мы видим сравнение двух конфигураций – «Моя_Конфигурация» и «Библиотеки стандартных подсистем».



Рис.25

В окне сравнения можно загрузить настройки из ранее сохраненного с помощью помощника файла через «Действия-Загрузить настройки из файла».


Рис.26

В открывшемся окне выбрать наш ранее сохраненный с помощником файл – «ФайлНастроекСравнения».



Рис.27

Обратим внимание, что подсистемы будут выделены, в зависимости от того, какие были определены при настройке помощником. Так, если выделить только базовую функциональность (Рис.28), окно конфигурации будет выглядеть следующим образом:


Рис.28


Рис.29

Т.е. мы видим, что выделены галочками не все объекты конфигурации.

Теперь настроим подчиненные подсистемы, отметив переносимые объекты, через «Действия-Отметить по подсистемам файла». Активируем «Включать область подчиненных подсистем».



Рис.30


Рис.31

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

Из «Стандартные подсистемы» выбираем обязательные, независимо от того, какой функционал нужен. Среди них – базовый функционал, обновление версий базы, пользователи, контакты.

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



Рис.32

Выбрав подсистемы, нажимаем кнопку «Установить».

Также отдельным элементам можно выбрать режим объединения – «Взять из файла» или «Объединить с приоритетом основной конфигурации» (для этого нажать на нем правой кнопкой мышки).



Рис.33

Эти действия можно применить ко всем элементам, установив через меню «Действия-Установить режим для всех».


Рис.34


Рис.35



Рис.36



Рис.37



Рис.38

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


Рис.39





Рис.41

Обратите внимание, что по завершению процессов, объекты метаданных перенесены, но пока не настроены. Поэтому необходимо начать настройку объектов БСП.

Должностные обязанности

Участие в руководстве 2-й линией поддержки (порядка 150 человек, включая 2 территориально удаленных филиала) крупной системы (50 000 пользователей), основанной на типовых конфигурациях 1С БГУ 2 и ЗиКГУ 3 с применением механизмов электронной цифровой подписи формуляров документов.

Руководство взаимодействием и оказанием поддержки пользователям по заявкам, поступившим из 1-й линии поддержки. Решение заявок в рамках своей ответственности. Эскалация заявок в 3-ю линию поддержки при невозможности решить заявку силами специалистов 2-й линии, контроль обработки и хода решения заявки, закрытие заявки по результатам работы специалистов 3-й линии.

Основные подсистемы – «Управление нефинансовыми активами», «Управление кадрами», «Учет и отчетность» – интегрированы в ГИИС «Электронный бюджет».

Требуется

Практические навыки в организации и обеспечении качества процессов функционирования службы технической поддержки крупных информационных систем на базе платформы 1С.

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

Понимание методологических принципов построения и технологии функционирования, умение работать с прикладными решениями "1С:БГУ 2", "1С:ЗиКГУ 3".

Наличие практических навыков реализации пользовательских задач средствами прикладных решений "1С:БГУ 2", "1С:ЗиКГУ 3".

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

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

Минимальный уровень компетенции должен быть подтвержден успешным прохождением семинара-практикума «Технология корпоративного сопровождения» (1С:ТКС).

Желаемый уровень, помимо успешного прохождения 1С:ТКС, должен включать в себя сертификацию ITIL уровня Foundation и одного из блоков уровня Lifecycle или Capability.

Уверенный пользователь ПК.

Знание офисного ПО. Продвинутый пользователь пакета MS Office.

Знание ГОСТов по эксплуатации и документированию ИТ-систем.

Хорошее знание процесса управления проектами.

Образование высшее по направлениям «Информационные технологии» или «Экономика и управление» со специализацией в области ИТ.

Опыт работы в области информационных технологий, управления проектами – от 5 лет.

Дополнительно

Знание основ делопроизводства,

Умение вести официальную деловую переписку,

Опыт работы с программами электронного документооборота, в особенности «Ландокс»,

Сильные аналитические способности,

Системное мышление,

Коммуникабельность, ответственность, высокий уровень самоорганизации,

Грамотная устная и письменная речь.

Наличие сертификатов "1С: Профессионал по платформе", "Специалист-консультант по внедрению прикладного решения", «1C: Бухгалтерия государственного учреждения», ред. 2 будет являться дополнительным преимуществом.

Мы предлагаем

Официальное трудоустройство, полное соблюдение ТК РФ.

Комфортный офис в центре Москвы (м. Китай-город).

График работы: 5/2 с 9:00 до 18:00, пятница с 9:00 до 16:45.

Ежегодный оплачиваемый отпуск 36 календарных дней.

Конкурентоспособная стабильная заработная плата.

Обучение и повышение квалификации, карьерный рост.

Дружный активный коллектив.

Работа с числовыми матрицами в целом и решение систем линейных алгебраических уравнений в частности - классическая математическая и алгоритмическая задача, широко используемая при моделировании и расчёте огромного класса бизнес-процессов (например, при расчёте себестоимости). При создании и эксплуатации конфигураций «1С:Предприятия» многие разработчики сталкивались с необходимостью вручную реализовывать алгоритмы расчёта СЛАУ, а после - с проблемой длительного ожидания решения.

«1С:Предприятие» 8.3.14 будет содержать функциональность, позволяющую значительно сократить время решения систем линейных уравнений за счёт использования алгоритма, основанного на теории графов.

Он оптимизирован для использования на данных, имеющих разреженную структуру (то есть содержащие не более 10% ненулевых коэффициентов в уравнениях) и в среднем и в лучшем случаях демонстрирует асимптотику Θ(n⋅log(n)⋅log(n)), где n - количество переменных, а в худшем (при заполненности системы ~100%) его асимптотика сопоставима с классическими алгоритмами (Θ(n 3)). При этом на системах, имеющих ~10 5 неизвестных, алгоритм показывает ускорение в сотни раз по сравнению с реализованными в специализированных библиотеках линейной алгебры (например, superlu или lapack).

Важно: статья и описанный алгоритм требуют понимания линейной алгебры и теории графов на уровне первого курса университета.

Представление СЛАУ в виде графа

Рассмотрим простейшую разреженную систему линейных уравнений:


Внимание: система сгенерирована случайным образом и будет использоваться далее для демонстрации шагов работы алгоритма

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

Для этого нам достаточно транспонировать матрицу и установить инвариант “A[i][j]=z ⇔ i-я переменная входит в j-е уравнение с коэффициентом z” , а после для всякого ненулевого A[i][j] построить соответствующее ребро из вершины i в вершину j.

Полученный граф будет выглядеть так:

Даже визуально он оказывается менее громоздким, а асимптотические затраты оперативной памяти снижаются с O(n 2) до O(n+m), где m - число коэффициентов в системе.

Выделение компонент слабой связности

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

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

После разделения на компоненты слабой связности граф примет такой вид:

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

Редуцирование вершин графа

Следующий шаг алгоритма - как раз то, в чём заключается оптимизация под работу с разреженными матрицами. Даже в графе из примера присутствуют “висячие” вершины, означающие, что в некоторые из уравнений входит всего одна неизвестная и, как мы знаем, значение этой неизвестной легко найти.

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

Таким образом, вершину 3 из примера мы сможем редуцировать сразу, полностью обработав компоненту:

Аналогично поступим с уравнением 0, так как в него входит всего одна переменная:

Другие уравнения тоже изменятся после нахождения этого результата:

$$display$$1⋅х_1+1⋅х_2=3⇒1⋅х_2=3-1=2$$display$$


Граф принимает следующий вид:

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

Перестроение графа

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

Простейший пример такого графа: каждая вершина имеет степень вхождения, равную двум, ни одну из вершин нельзя редуцировать.

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

Например, можно привести оставшееся после редуцирования множество вершин обратно в матричный вид и применить к нему метод Гаусса решения СЛАУ . Таким образом мы получим точное решение, а скорость работы алгоритма будет уменьшена за счёт обработки не всей системы, а лишь некоторой её части.

Тестирование алгоритма

Для тестирования программной реализации алгоритма мы взяли несколько реальных систем уравнений большого объёма, а также большое количество случайно сгенерированных систем.
Генерация случайной системы уравнений проходила через последовательное добавление рёбер произвольного веса между двумя случайными вершинами. Всего система заполнялась на 5-10%. Проверка корректности решений производилась через подстановку полученных ответов в исходную систему уравнений.


Системы имели размер от 1000 до 200000 неизвестных

Для сравнения быстродействия мы использовали наиболее популярные библиотеки для решения задач линейной алгебры, такие как superlu и lapack. Конечно, данные библиотеки ориентированы на решение широкого класса задач и решение СЛАУ в них никак не оптимизировано, поэтому различие в быстродействии оказалось значительным.


Тестирование библиотеки ‘lapack’


Тестирование библиотеки ‘superlu’

Приведём итоговое сравнение нашего алгоритма с алгоритмами, реализованными в популярных библиотеках:

Заключение

Даже если вы не являетесь разработчиком конфигураций «1С:Предприятие», идеи и методы оптимизации, описанные в данной статье, могут быть использованы вами не только при реализации алгоритма решения СЛАУ, но и для целого класса задач линейной алгебры, связанных с матрицами.

Для разработчиков же 1С добавим, что новая функциональность решения СЛАУ поддерживает параллельное использование вычислительных ресурсов, и можно регулировать количество используемых потоков вычисления.