Параметрическое программирование — это тип математической оптимизации , где задача оптимизации решается как функция одного или нескольких параметров . [1] Разработанный параллельно с анализом чувствительности , его самое раннее упоминание можно найти в диссертации 1952 года. [2] С тех пор были достигнуты значительные успехи в случаях с несколькими параметрами, наличием целочисленных переменных, а также нелинейностей.
Обозначение
В общем случае рассматривается следующая задача оптимизации
где — переменная оптимизации, — параметры, — целевая функция , а обозначают ограничения . обозначает функцию, выход которой является оптимальным значением целевой функции . Набор обычно называют пространством параметров.
Оптимальное значение (т.е. результат решения задачи оптимизации) получается путем оценки функции с аргументом .
Классификация
В зависимости от характера и наличия в задаче оптимизации целочисленных переменных задачи параметрического программирования подразделяются на различные подклассы:
Если присутствует более одного параметра, то это часто называют задачей многопараметрического программирования [3]
Если присутствуют целочисленные переменные, то задача называется (много)параметрической задачей смешанно-целочисленного программирования [4].
Если ограничения аффинные , то выполняются дополнительные классификации в зависимости от характера целевой функции в (много)параметрических (смешанно-целочисленных) линейных, квадратичных и нелинейных задачах программирования. Обратите внимание, что это обычно предполагает, что ограничения аффинные. [5]
Приложения
В теории управления в целом и в перерабатывающей промышленности
Связь между параметрическим программированием и прогнозным управлением модельным процессом для производства , установленная в 2000 году, способствовала повышению интереса к этой теме. [6] [7] Параметрическое программирование предлагает идею о том, что задачи оптимизации могут быть параметризованы как функции, которые могут быть оценены (аналогично таблице поиска). Это, в свою очередь, позволяет реализовать алгоритмы оптимизации в оптимальных контроллерах как предварительно вычисленные (офлайн) математические функции, которые в некоторых случаях могут быть проще и быстрее для оценки, чем решение полной задачи оптимизации в режиме онлайн. Это также открывает возможность создания оптимальных контроллеров на чипах (MPC на чипе [8] ). Однако офлайновая параметризация оптимальных решений сталкивается с проклятием размерности, поскольку количество возможных решений растет с размерностью и количеством ограничений в задаче. [ необходима цитата ]
В программировании ЧПУ
Параметрическое программирование в контексте ЧПУ ( числовое программное управление ) определяет циклы обработки деталей в терминах переменных с переназначаемыми значениями, а не через жестко закодированные/жестко зашитые экземпляры. Архетипически простой пример — написание программы G-кода для обработки семейства шайб : часто нет необходимости писать 15 программ для 15 членов семейства с различными диаметрами отверстий, внешними диаметрами, толщинами и материалами, когда практично вместо этого написать 1 программу, которая вызывает различные переменные и считывает их текущие значения из таблицы назначений. Затем программа инструктирует направляющие и шпиндели станка перемещаться в различные положения с различными скоростями, соответственно, обращаясь не только к размерам детали (т. е. OD, ID, толщина), но также даже к скоростям и подачам , необходимым для любого заданного материала (например, низкоуглеродистая сталь, высокоуглеродистая сталь; нержавеющая сталь любой марки; бронза, латунь или алюминий любой марки; полимер любого типа). В таком программировании часто используются пользовательские макросы. [9]
Ссылки
^ Гэл, Томас (1995). Постоптимальный анализ, параметрическое программирование и смежные темы: вырождение, многокритериальное принятие решений, избыточность (2-е изд.). Берлин: W. de Gruyter. ISBN978-3-11-087120-3.
^ Гэл, Томас; Гринберг, Харви Дж. (1997). Достижения в области анализа чувствительности и параметрического программирования . Международная серия по исследованию операций и науке управления. Том 6. Бостон: Kluwer Academic Publishers. doi : 10.1007/978-1-4615-6103-3. ISBN978-0-7923-9917-9.
^ Дуа, Вивек; Пистикопулос, Эфстратиос Н. (октябрь 1999 г.). «Алгоритмы решения многопараметрических смешанно-целочисленных нелинейных задач оптимизации». Industrial & Engineering Chemistry Research . 38 (10): 3976– 3987. doi :10.1021/ie980792u.
^ Пистикопулос, Эфстратиос Н.; Георгиадис, Майкл К.; Дуа, Вивек (2007). Многопараметрическая теория программирования, алгоритмы и приложения . Weinheim: Wiley-VCH. doi :10.1002/9783527631216. ISBN9783527316915.
^ Bemporad, Alberto; Morari, Manfred; Dua, Vivek; Pistikopoulos, Efstratios N. (2000). "Явное решение управления прогнозированием модели с помощью многопараметрического квадратичного программирования". Труды Американской конференции по управлению 2000 года . стр. 872. doi :10.1109/ACC.2000.876624. ISBN0-7803-5519-9. S2CID 1068816.
^ Bemporad, Alberto; Morari, Manfred; Dua, Vivek; Pistikopoulos, Efstratios N. (январь 2002 г.). «Явный линейный квадратичный регулятор для систем с ограничениями». Automatica . 38 (1): 3– 20. CiteSeerX 10.1.1.67.2946 . doi :10.1016/S0005-1098(01)00174-1.
^ MPC на чипе — Последние достижения в применении многопараметрического управления на основе моделей | Запросить PDF
^ Линч, Майк (12.05.2023). «5 причин, по которым вам следует знать, как писать пользовательские макросы. Пользовательские макросы расширяют возможности программ G-кода, предоставляя пользователям возможность кодировать операции, которые ранее были невозможны». www.mmsonline.com . Получено 20.05.2023 .