Действие закона во времени, в пространстве и по кругу лиц.

Целочисленное программирование в задачах конструирования

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

Постановка задачи целочисленного программирования от­личается от линейного программирования тем, что в данном случае на элементы решения наложены условия целочислен-ности.

Существует несколько методов решения задач целочислен­ного "'программирования, однако наибольшее распространение получил метод ветвей и границ. Идея этого метода заключа-ется в том, что сначала решается задача линейного програм­мирования Если получено целочисленное решение, то это и есть искомый результат, а если не получено целочисленное значение элементов решения, то полученный результат счи­тается верхней границей искомого решения. Для достижения целочисленного решения производят ветвление области допу­стимых решений путем введения дополнительных условий задачи.

Постановку задачи целочисленного программирования рас­смотрим на примере из конструкторской практики.

Требуется разработать аппаратуру на основе серийно вы­пускаемых модулей (микросхем) двух типов М1 и М2. Извест­но, что без учета резервирования в схеме аппаратуры должно содержаться модулей М1 не менее b1, а модулей М2 — не ме­нее b2. Кроме того, известно, что выпускаются монтажные платы двух типов П1 и П2, которые предполагается использо­вать как конструктивные несущие элементы для разрабаты­ваемой аппаратуры.

Известно также, что в монтажном пространстве платы П1 может разместиться На монтажной плате П2 может быть размещено

α12 — модулей М1; α22 — модулей М2.

Для каждого типа плат известен весовой коэффициент стоимости, установленный экспертным или каким-либо другим методом.

Для платы П1 он равен С1 а для платы П2—С2. Требует­ся определить необходимое количество плат для проектирова­ния аппаратуры по типам с условием, чтобы аппаратура обладала максимальным качеством при минимальных затратах.

С учетом условий и требований задачи составим целевую функцию ,

где x1 — количество плат типа П1; x2 — количество плат П2.

Составим ограничительные уравнения:

x1 и x2 — целые числа.

Первое уравнение описывает распределение модулей M1 среди плат Пi и П2, а второе уравнение — распределение среди тех же плат, но уже модулей — М2.

Начнем решение с задачи линейного программирования, преследуя цель получить, если это удастся, целочисленное ре­шение, а если нет, то — верхнюю границу задачи целочислен­ного программирования.

Предположим, что решение найдено с использованием од­ного из известных методов линейного программирования, но при этом целочисленных значений элементов решения не по­лучено,

Наложим дополнительные условия

где х1ц — ближайшее целое число к х1*; x2ц—ближайшее целое чис­ло к x2.

Решаем задачу, разветвив ее на две по х1ц и x2ц. Вновь решаем задачу линейного программирования с учетом дополнительного условия. Получаем решения х1** и х2**. При этом целевая функция имеет значение K**. Если элементы решения являются целыми числами и ограничительные уравнения выполняются, то полу­ченное решение дает оптимальное значение целевой функции.

Если x1 и x2 не целые числа, то ветвление продолжают до получения целых чисел или до тех пор, пока ветвление стано­вится невозможным.

Пример. Решим рассмотренную выше задачу при следующих условиях: α11 = 5; α21 = 10; α12 = 10; а22 = 5; b1 ≥ 80; b2 ≥ 60; С1 = 15; С2 = 20; х1 ≥ 0, x2 > 0, x1x2 — целые числа.

Решим задачу линейного программирования без учета условий целочисленности х1 и х2.

Составим ограничительные уравнения

или

Решение найдем графическим методом. Построим прямые y1 = 0, у2 = 0(рис 3.4). Точка соответствует оптимальному решению. При этом x1 = 2,6; х2 = 6,6; K = С1x1 + С2x2 = 15*2f6 +20*6 6 = 171. Полученное решение не является целочисленным.

Очевидно, целочисленное решение лежит в окрестно­сти точки в области до­пустимых решений. Вероят­нее всего предположить, что оптимальному решениию соответствуют точки 1, 2 или 3.

Рис. 3.4. График, поясняющий решение задач методом целочисленного программирования

 

Задачу можно решить не прибегая к ее ветвле­нию. Найдем значения це­левой функции для точек 1, 2, 3. То решение являет­ся искомым, для которого целевая функция минималь­на, но не меньше целевой функции, полученной при линейном программировании:

Минимальное значение К(3) = 180. Следовательно х1 = 4; х2 = 6. При этом К(3) == Лmin = 180.

3.6. Нелинейное программирование в задачах конструирования

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

Задача нелинейного программирования состоит в отыска­нии оптимального значения целевой функции

при ограничениях

где К —целевая функция (линейная или нелинейная); j = 1, . . ., n, fi(x1, ..., xm) — ограничительные уравнения (линейные или нели­нейные); А—заданные условия задачи; X — элементы решения.

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

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

или

Рассмотрим процедуру решения задачи, если целевая функция имеет вид

К = K (х1, …, xm) → mах, или K = K (X) → mах.

Выберем начальное решение K(X0), т.е. исходную точку дви­жения к экстремуму К (X0) = К (х10, . . ., хm0).

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

Найдем градиент функции К (X0), вычисленный для началь­ной точки решения

Движение к экстремуму производим с определенным ша­гом, т. е. с определенными приращениями переменных. Выбор шага является ответственным этапом в решении. Если вы­брать шаг большим, то можно «перешагнуть» экстремум, а если выбрать шаг малым, то придется долго двигаться к экстремуму. Целесообразно организовать движение с пере­менным шагом, в начале движения применять большой, а за­тем, приближаясь К экстремуму, его уменьшать.

Определим приращение оптимизируемой функции при пер­вом шаге

Значение оптимизируемой функции после первого шага соста­вит К(1)(X1) = К(Х0) + ΔК(1).

Если К(1)(X1) > K(X0), до движение происходит в направле­нии экстремума.

Произведем второй шаг. При этом приращение оптимизируе­мой функции будет равняться величине

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

Определим значение целевой функции после второго шага

К(2)(X2) = К(1)1) + ΔК(2)

Если К(2)2) > K(1)(X1), то движение происходит по направ­лению к экстремуму.

Продолжаем движение до выполнения условия К(m)m) — К(m-1)m-1) = 0, или К(m)m) — К(m-1)m-1) ≤ ξ, где ξ — некоторая окрестность экстремума, удовлетворяющая решение. В точке экстремума ξ = 0.

Рассмотренный алгоритм поиска оптимального значения целевой функции не учитывал ограничений. При решении за­дачи с учетом ограничений используют разновидность гради­ентного метода, называемую методом штрафных функций. Идея метода состоит в переходе к вспомогательной функции R(X), на которую не наложены ограничения R(X)=K(X)+H(X).

Дополнительное слагаемое H(X) отрицательно в задачах максимизации, его называют штрафной функцией. Штрафная функция равна нулю для тех (X), при которых ограничения не нарушаются. Если ограничения нарушаются, то Н(X) — отрицательна.

Штрафную функцию выбирают в виде суммы

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

.

Таким образом, при любом нарушении ограничении резуль­тирующее приращение целевой функции будет отрицательным что указывает на выход решений за допустимую область При' этом «отслеживание» за соблюдением ограничений произвоизводится по всем переменным, т.е. по всем элементам решения от i = 1 до i = m.

Других отличий метод штрафных функций от рассматри­ваемого ранее градиентного метода не имеет

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

Градиент функции вычисляется аналогично предыдущем" случаю, а приращения вычисляются по каждой переменной,т.е.

Кроме того, шаг выбирается для всех переменных один и же. Тогда алгоритм вычислений примет вид. При первом шаге

При втором шаге

И т. д.

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

Пример. В процессе изготовления изделия используются два вида оборудования с производительностями' x1 и х2 — соответ­ственно. Производительность оборудования и показатели ка­чества связаны зависимостями.

Для первого вида оборудования K1 = x1 —x12 для второго вида К2 = Зx2 — х22

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

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

Известны ограничительные условия

Кроме того, известна допустимая погрешность в определении экстремума ξ = 0,3.

Р е ш е н и е.

Выберем за исходную точку движения x1 = 0, х2 = 0, шаг приращения функции h выбираем равным ;, т. е. h = 0,3.

Проверяем выполнимость ограничительных условий. Они выполняются, поэтому α1(0) = 0, и, α2(0) = 0.

Находим составляющие градиента

При x1 = 0, х2 = 0 имеем K(0) (x) = 0. Находим значения x1 и x2 после первого шага

.

Определяем значение целевой функции после первого шага

Следовательно, приращение составляет ΔK(1)(x) = 2,1. Заме­чаем, что ΔК(1)(х) > ξ поэтому, проверив выполнимость ограни­чений при x1(1) = 0,3 и x2(1)==0,9, продолжаем движение к экстремуму.

Ограничительные условия выполняются, поэтому а1(1)=0, а1(2)=0

Находим значения х1(2) и х2(2).

Определим значение целевой функции K(2)(x):

Находим ΔК(2)(х)=К(2)(х)-К(1)(х)=2,44—2,1=0,34.

Замечаем, что ΔК(2)(х)>ξ.

Проверяем выполнимость ограничительных уравнений. Они выполняются, т. е. а1(2)=0, а2(2)=0.

Делаем следующий шаг и определяем значения x1(3) и x2(1):

Определяем значение целевой функции после третьего шага cледовательно, ΔК(3)(х)=0,07, что меньше ξ = 0,3.

Остается проверить выполнимость условий при x1(3)=0,45 и x2(3)=1,4.

Первое ограничительное условие не выполняется.

Следовательно, α1(3)>0.

Для получения искомого решения целесообразно на третьем шаге уменьшить h. Допустим h=0,2, тогда

Находим К(3)(х) с учетом изменения шага. К(3)(х)=2,65.

Следовательно, К(3)(х)=0,21. Это меньше ξ=0,3 Снова проверяем ограничительные условия. Они выполняются. Таким образом, задача решена: х1=0,45, х2=36, К (х)=2,65.

2. Метод направленного перебора. Этот метод позволяет найти экстремум целевой функции для случая, когда она недифференцируема, или необходимо найти экстремум функ­ции нескольких переменных.

Как и в предыдущем случае, известна целевая функция и ограничения

Выберем из физических или экономических соображений некоторую исходную точку К(х0), удовлетворяющую ограни­чительным уравнениям fj(xi), и шаг случайного' поиска h. Поскольку заранее неизвестно предпочтительное направление, в котором целесообразно организовать движение, выбираем одинаковые приращения переменных, каждый раз проверяя выполнение ограничительных уравнений и приращение функ­ции, т. е.

Выбираем те xi, которые дали наибольшее приращение це­левой функции, затем при втором шаге даем приращения наи­более предпочтительным переменным.

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

После каждого шага проверяются условия

и т.д

3. Метод множителей Лагранжа. Метод является полезным при отыскании оптимальных решений, если целевая функция нелинейна, например, задана некоторым полиномом а ограничения заданы в форме равенств.

Требуется найти максимум целевой функции K=K(x1,...,...,хm)→mах. Ограничения заданы в виде

Предполагается, что K(x1,...,хm) и fj(x1,...,хm) дифференцируемы.

Составим функцию Лагранжа

где αj— неопределенные множители Лагранжа. Количество неизвестных прибавилось, но если мы их найдем и подставим в L то это даст оптимальное решение. Перешли от К к некоторой новой функции L.

Необходимым условием существования экстремума является

В этой системе столько неизвестных, сколько уравнений. Следо­вательно, можно найти x1,...,хm, α1,...,αm и, подставив их в функцию Лагранжа, получим оптимальное решение, т. е. Lmax.

Пример. Разрабатываемая аппаратура состоит из двух блоков Б1 и Б2. Заданная стоимость этих блоков равна соот­ветственно A1 и А2. Известен период эксплуатации t и резуль­тирующая интенсивность отказов .

Требуется найти интенсивности отказов блоков, т. с. λ1 и λ2, при которой результирующая стоимость использования аппаратуры за время t минимальна, а интенсивность отказов равна заданной, т. е. λ, тогда

Выразим стоимость использования блоков через их надежность

 

Запишем целевую функцию в форме Лагранжа

(3.6)

Вычислим производные и приравняем их нулю:

Имеем систему трех уравнений с тремя неизвестными, решив ее, находим λ1, λ2, α, подставив их в (3.6), получим оптимальное решение.

В пространстве à пространство, на которое распространяется действие УПЗ, определено в ст.2 УПК à нормы УПК действуют на всей территории РФ, если иное не установлено международными договорами. Понятие территории РФ определяет ст. 67 КРФ. Международным договором может быть установлено правило, в соответствии с которым на территории РФ применяются нормы иностранного права, если к РФ обращается запрос о правовой помощи (в частности, просьба произвести какое-либо следственное действие); и в соответствующем запросе указывается просьба применить нормы иностранного государства. Возможность применения норм иностранного права обычно специально оговаривается в двустороннем договоре. По кругу лиц à производство по уголовным делам о преступлениях, которые совершены на территории РФ иностранцами и лицами б/г, а также бипатридами, регламентируется нормами УПК. Следует помнить о группе субъектов, которые пользуются иммунитетом. В первую очередь – это дипломатический иммунитет. В отношении лиц, которые пользуются дипломатическим иммунитетом проводить следственные действия с их участием можно только по их просьбе и с их согласия, которое запрашивается через министерство иностранных дел. Новые изменения от 04.03.2008 года. На кого распространяются принципы дипломатического иммунитета, в первую очередь определено в Венской конвенции о дипломатических сношениях; конвенцией о консульских сношениях. Лица, которые обладают дипломатическим иммунитетом и консульским иммунитетом – консулы, послы. Во времени à ст. 4 УПК определяет, как применяется УПЗ во времени. Применяется УПЗ, который действует во время производства соответствующего процессуального действия или принятия процессуального решения, если иное не установлено законом. Относительно действия УПЗ во времени установлено, что применяется закон, который действовал во время производства соответствующего процессуального действия или принятия соответствующего процессуального решения, если иное не установлено законом. Прекращение действия закона:

  • может быть отменен;
  • может прекратить действие;
  • может быть признан несоответствующим КРФ.