Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Системный анализ / 23. Логические высказывания в ЛЦП(б)

.doc
Скачиваний:
35
Добавлен:
10.05.2014
Размер:
160.26 Кб
Скачать

6

Лог выск.doc

Моделирование логических высказываний в задачах ЛЦП(б)

Логическое высказывание , которое может быть либо истинным, либо ложным, можно моделировать бинарной (булевой) переменной :

Отрицание (  ) моделируется, как (1-).

Промоделируем некоторые высказывания.

  1. "".   В этом случае нужно сформулировать ограничение, которое "заставит" принять единичное значение, по крайней мере, одну переменную. Таким ограничением может служить следующее:

x1+x2+…+xk   1.

  1. "".  Модель этого высказывания имеет вид:

x1+x2+…+xk   k.

  1. "Одно и только одно из высказываний T1,T2,…,Tk   истинно":

x1+x2+…+xk  1.

А теперь рассмотрим сложные высказывания.

  1. " истинно тогда и только тогда, когда все высказывания истинны": . Это высказывание моделируется двумя ограничениями:

а) x1+x2+…+x kxk+1  - если хотя бы   l  высказываний - ложны, то k-l  kxk+1 , откуда следует, что xk+1=0.

б) x1+x2+…+x– (k-1)  kxk+1   - если все  высказывания истинны, то k-(k-1)  xk+1, откуда следует, что xk+1 =1.

  1. "Tk+1 истинно тогда и только тогда, когда хотя бы одно из высказываний  T1,T2,…,Tk  истинно": Tk+1 =T1T2Tk .

Это высказывание также моделируется двумя ограничениями:

а) x1+x2+…+xk   kxk+1   - если хотя бы одно из   высказываний истинно, то xk+1 =1.

б) x1+x2+…+xk   xk+1     - если все  высказывания ложны, то 0  xk+1, откуда следует, что xk+1 =0.

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

Возьмем, например, импликацию:

T3= T1T2.

(T3  ложно тогда и только тогда, когда T1 истинно, а T2 ложно). Эквивалентная запись этого высказывания имеет вид:

.

Высказывание моделируется как (1-x1), а дизъюнкция моделируется, как уже было показано в пп5, - двумя ограничениями:

(1-x1)+x2  2x3,

(1-x1)+x2  x3.

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

Пример. Необходимо наладить выпуск продукции и обеспечить максимальную прибыль от ее реализации.

Сразу возникает масса альтернативных вариантов:

  • Где размещать производство и какую технологию использовать для выпуска продукции.

  • Для каждого альтернативного варианта возникает свой круг проблем:

  • Ресурсное обеспечение (материальные, трудовые, финансовые ресурсы). Здесь также возможны варианты.

  • Оптимальная кооперация (каких смежников привлекать, что оставлять смежникам, что производить самим).

  • Инфраструктура (сбыт продукции). Какие требуются коммуникации.

  • Экология, социальное развитие, капитальные вложения в непроизводственную сферу.

  • Возможность переориентации производства при насыщении рынка.

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

Основная логика этого графа - это "И/ИЛИ". Построение же графа идет "от цели" (точнее, должна идти "от цели").

Сейчас мы немного коснемся вопроса программно-целевого планирования.

Дерево целей

В процессе планирования этот граф последовательно (сверху вниз) преобразуется в граф, имеющий логику "И". То есть, для каждой цели (подцели) выбирается свой вариант реализации из множества альтернативных вариантов.

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

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

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

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

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

Моделирование логических связей в задачах планирования

В качестве объекта планирования возьмем самый общий объект - большую сложную систему, состоящую из ряда подсистем.

Пусть xj - булева переменная, значение которой определяет включение в план (исключение из плана) разработку некоторой подсистемы Aj :

То есть, переменная xj моделирует "атомарное" высказывание Tj: "создать подсистему Aj".

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

  1. Создание любой системы из множества   A1, A2,…,Ak  исключает создание других систем этого множества.

Это - так называемое "альтернативное разбиение", которое соответствует высказыванию:

.

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

Высказывание моделируется следующим ограничением:

x1+x2+…+xk   1.

  1. Система Aj может быть создана только после того, как будет создана система Ak.

Высказывание: . Модель этого высказывания:

  1. Подсистему Ak+1 можно начать разрабатывать только в том случае, если будут разработаны все подсистемы множества .

Высказывание: . Модель этого высказывания:

.

  1. Подсистему можно начать разрабатывать только в том случае, если будет разработана по крайней мере одна из подсистем множества .

Высказывание: . Модель этого высказывания:

.

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

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

Пример.  На реконструкцию предприятия, состоящего из трех цехов, выделена сумма А.

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

Реализация проекта требует затрат на сумму и дает дополнительный доход в сумме .

Построить модель задачи выбора проекта реконструкции, обеспечивающего максимальный дополнительный доход при условии:

А)   проект может быть реализован только после того, как будут реализованы проекты и

Решение

Вводим булевы переменные , такие, что:

Моделируем дополнительное ограничение А). Высказывание:

.

Модель этого высказывания:

Окончательно:

- ограничение на затраты на реконструкцию.

- не более одного варианта реконструкции.

, - модель дополнительного ограничения.

Пример.  Задан граф планирования.

  1. Главная цель может быть достигнута, если будет достигнута Цель 1 и Цель 2.

  2. Цель 1 можно достичь только решив одну из задач X11 или X12.

  3. Цель 2 можно достичь только решив одну из трех задач X13 или X14 или X15

  4. Для решения задачи X11 необходимо решить задачу X21 и задачу X22 .

  5. Для решения задачи X12 необходимо решить задачу X23 и задачу X24.

  6. Для решения задачи X15 необходимо решить все три задачи X25, X26 и X27.

  7. Кроме того, есть еще дополнительное ограничение: задачу X14 можно решить, только при условии, что задача X24 решена.

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

Решение.

Здесь полная свобода. Можно предложить целый ряд вариантов. Рассмотрим один из них.

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

X11 + X12 + X13 + X14 + X152

Одна из двух задач X11 или X12 должна быть обязательно решена:

X11 + X12 1 ,

Одна из трех задач X13 , X14 или X15 должна быть обязательно решена:

X13 + X14 + X151,

Для решения задачи X11 необходимо решить задачу X21 и задачу X22:

X21 X22  2X11

Для решения задачи X12 необходимо решить задачу X23 и задачу X24:

X23 X24  2X12,

Для решения задачи X15 необходимо решить все три задачи X25, X26 и X27:

X25X26 +X27  2X15 .

Наконец, дополнительное ограничение: задачу X14 можно решить, только при условии, что задача X24 решена.

X24  X14 .

В заключение этого раздела. Широкие возможности булева моделирования иллюстрирует такой, казалось бы "частный", пример.

Допустим, в целевой функции или где-то в системе ограничений фигурирует произведение действительной переменной   x и булевой переменной T (Tx). То есть моделируется некоторая нелинейная функция Z= Tx:

Вводим в состав переменных действительную переменную Z, производим замену выражения   Tx   на   Z , а в систему ограничений вводим три ограничения:

,

,

.

Здесь M - достаточно большое положительное число.

Что же получилось?

Положим T=0:

,

,

.

То есть Z может принять только нулевое значение.

Положим T=1:

,

,

.

То есть Z может принять только значение, равное x. А это и требовалось.

Соседние файлы в папке Системный анализ