Рис. 2.25. Начальная расстановка
Как видно из рис. 2.24 и 2.26, картина значительно улучшилась по сравнению с тем, что было до оптимизации. Каждый формуляр читается и практически каждый формуляр расположен около соответствующего ему объекта, так что можно легко определить какому объекту принадлежит формуляр.
Наличие ограничений на перекрытие формуляра и объектов вида (2.271), во-первых, усложняют вычислительный алгоритм, тем самым увеличивая время его работы, во-вторых, эти ограничения предъявляют высокие требования к заданию начальных условий: если изначально какой-нибудь формуляр перекрывает объект, то алгоритм работать не будет.
Исключить неравенства, соответствующие перекрытиям, можно методом штрафных функций (см. п. 1.4.1). В качестве штрафных функций будем использовать площади перекрытия между формуляром и объектами, лежащими в круге радиуса d_max с центром в объекте, соответствующем данному формуляру. Прибавив к минимизируемой функции сумму этих площадей, получим, что при минимизации формуляр будет стремиться «выйти за пределы объекта».
220