Введение

Целевое программирование является отраслью многоцелевой оптимизации, которая, в свою очередь, является отраслью многокритериального анализа решений (MCDA). Его можно рассматривать как расширение или обобщение линейного программирования для обработки нескольких, обычно конфликтующих, объективных мер. Каждой из этих мер придается цель или целевое значение, которое должно быть достигнуто. Отклонения от этих целей измеряются как выше, так и ниже целевого значения. Нежелательные отклонения от этого набора целевых значений затем сведены к минимуму в функции достижения. Это может быть вектор или взвешенная сумма, зависящая от используемого варианта целевого программирования. Поскольку удовлетворение цели считается удовлетворяющим лицам, принимающим решения, предполагается, что в основе лежит философия удовлетворения. Целевое программирование используется для выполнения трех типов анализа: Определять необходимые ресурсы для достижения желаемого набора целей. Определите степень достижения целей с использованием имеющихся ресурсов. Предоставление наилучшего удовлетворительного решения при различных объемах ресурсов и приоритетах целей.

История

Целевое программирование впервые было использовано Чарнсом, Купером и Фергюсоном в 1955 году, хотя фактическое название впервые появилось в тексте 1961 года Чарнсом и Купером. Затем последовали работы Ли, Игницио, Игницио и Кавалье, а также Ромеро. Schniederjans приводит библиографию большого количества статей до 1995 года, касающихся целевого программирования, а Jones и Tamiz приводят аннотированную библиографию периода 1990-2000 годов. Недавний учебник Джонса и Тамиза дает всесторонний обзор состояния искусства в программировании целей. Первым инженерным применением целевого программирования, благодаря Игницио в 1962 году, была конструкция и размещение антенн, используемых на второй ступени Сатурна V. Это было использовано для запуска космической капсулы "Аполлон", которая высадила первых людей на Луне.

Варианты

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

Сильные и слабые стороны

Основная сила целевого программирования - его простота и простота использования. Это объясняет большое количество приложений целевого программирования во многих и разнообразных областях. Линейные целевые программы могут быть решены с использованием программного обеспечения линейного программирования как единая линейная программа, или в случае лексикографического варианта, серия связанных линейных программ. Таким образом, целевое программирование может обрабатывать относительно большое количество переменных, ограничений и целей. Обсуждаемой слабостью является способность целевого программирования производить решения, которые не являются эффективными по Парето. Это нарушает фундаментальную концепцию теории решений, что ни один рациональный человек не будет сознательно выбирать решение, которое не является эффективным по Парето. Однако существуют методы, позволяющие обнаружить, когда это происходит, и проецировать раствор на эффективный раствор Парето соответствующим образом. Установление соответствующих весов в модели целевого программирования является еще одной областью, которая вызвала дебаты, причем некоторые авторы предлагают использовать для этой цели процесс аналитической иерархии или интерактивные методы. Кроме того, весы функций объектива могут быть рассчитаны на основе их предпочтения с использованием порядкового приоритета.