Данная статья является продолжением статьи, опубликованной в № 1 журнала «Прикладная информатика» в 2019 году [1]. В ней задачи компьютерного проектирования трасс различных линейных сооружений (новые и реконструируемые железные и автомобильные дороги, трубопроводы различного назначения, каналы и др.) рассматриваются с единых позиций – как задачи аппроксимации последовательности точек на плоскости гладкой кривой, состоящей из элементов заданного вида, т. е. сплайном. Принципиальное отличие от других задач аппроксимации, рассматриваемых в теории сплайнов и ее приложениях, состоит в том, что границы элементов сплайна и даже их число неизвестны. Поэтому предложена двухэтапная схема поиска решения. На первом этапе с помощью динамического программирования определяется число элементов сплайна и их параметры. Для некоторых задач этот этап является единственным. В более сложных случаях результат первого этапа используется как начальное приближение для оптимизации параметров сплайна с помощью нелинейного программирования. Другим осложняющим обстоятельством является наличие многочисленных ограничений на параметры сплайна, которыми учитываются проектные нормативы и условия строительства и последующей эксплуатации сооружения. В статье рассмотрены особенности математических моделей соответствующих проектных задач. Для сплайна, состоящего из дуг окружностей, сопрягаемых отрезками прямых, используемого в проектировании продольного профиля как новых, так и реконструируемых железных и автомобильных дорог и трубопроводов, построена математическая модель и использован нестандартный алгоритм решения задачи нелинейного программирования с учетом структурных особенностей системы ограничений. В отличие от стандартных алгоритмов нелинейного программирования используется построение базиса в нуль-пространстве матрицы активных ограничений и его модификация при изменении набора активных ограничений. При этом для поиска направления спуска на каждой итерации не требуется решение вспомогательных систем уравнений вообще. Рассмотрены два варианта организации итерационного процесса оптимизации: спуск по группам переменных при наличии участков независимого построения направления спуска и традиционное изменение всех переменных в одной итерации.

Fatal error: Uncaught Error: Call to a member function fetch_row() on false in /home/user/web/тумба.онлайн/private/versions/ver_5/pages/books_single.php:285 Stack trace: #0 /home/user/web/тумба.онлайн/private/versions/ver_5.php(577): include() #1 /home/user/web/тумба.онлайн/public_html/index.php(200): include('...') #2 {main} thrown in /home/user/web/тумба.онлайн/private/versions/ver_5/pages/books_single.php on line 285