Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







Классификация методов математического программирования.





Методы оптимизации

 

Введение

Оптимизацияэто целенаправленная деятельность, заключающаяся в получении наилучших результатов при соответствующих условиях. Постановка задачи оптимизации предполагает наличие объекта оптимизации, будь то человеческая деятельность в течение определенного периода времени или производственный процесс. Решение любой задачи оптимизации начинают с выявления цели оптимизации, т. е. формулировки требований, предъявляе­мых к объекту оптимизации. От того, насколько правильно выра­жены эти требования, может зависеть возможность решения за­дачи. Каждый человек время от времени оказывается в ситуации, когда достижение некоторого резуль­тата может быть осуществлено не единственным спо­собом. В таких случаях приходится отыскивать наилучший способ. Однако в различных ситуациях наилучшими могут быть совершенно разные реше­ния. Все зависит от выбранного или заданного кри­терия. Пусть, например, ученик живет далеко от школы и может добраться до школы на трам­вае за 30 минут или же часть пути проехать на трамвае, а потом пересесть на троллейбус и за­тратить при этом всего 20 минут. Оценим оба решения. Очевидно, второе решение будет лучшим, если требуется попасть в школу за минимальное время, т. е. оно лучшее по критерию минимиза­ции времени. По другому критерию (например, минимизации стоимости или минимизации числа пересадок) лучшим является первое решение. На практике оказывается, что в большинстве случаев понятие «наилучший» может быть выражено ко­личественными критериями — минимум затрат, ми­нимум отклонений от нормы, максимум скорости, прибыли и т. д. Поэтому возможна постановка математических задач отыскания оптимального {optimum—наилучший) результата, так как так как прин­ципиальных различий в отыскании наименьшего или наибольшего значения нет.

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

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

1) Требование оптимизации только одной величины;

2) Наличие степеней сво­боды у оптимизируемого объекта — управляющих воздействий;

3) Возможность количественной оценки оптимизируемой величины.

 

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

§1. Этапы решения задачи

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

1) Изучение объекта.При этом требуется понять происходящий
процесс, определить необходимые параметры (например, число
различных и взаимозаменяемых типов оборудования, его производительность по обработке каждого вида изделий и т. д.).

2) Описательное моделирование- установление и словесная фиксация основных связей и зависимостей между характеристи­ками процесса с точки зрения оптимизируемого критерия.

3). Математическое моделирование— перевод описательной модели на формальный математический язык. Все условия запи­сываются в виде соответствующей системы ограничений (урав­нения и неравенства). Любое решение этой системы называется допустимымрешением.Критерий записывается в виде функции, которую обычно называют, целевой.

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

4). Выбор(или создание) метода решения задачи.Так как за­дача уже записана в математической форме, ее конкретное со­держание нас не интересует. Дело в том, что совершенно разные по содержанию задачи часто приводятся к одной и той же фор­мальной записи. Поэтому при выборе метода решения главное внимание обращается не на содержание задачи, а на получен­ную математическую структуру. Иногда специфика задачи может потребовать какой-либо модификации уже известного метода или даже разработки нового.

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

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

7). Анализ полученного решения.Анализ решения бывает двух видов: формальный (математический), когда проверяется соответ­ствие полученного решения построенной математической модели(в случае несоответствия проверяются программа, исходные дан­ные, работа ЭВМ и т. д.), и содержательный (экономический, технологический и т. п.), когда проверяется соответствие полу­ченного решения тому объекту, который моделировался.В резуль­тате такого анализа в модель могут быть внесены изменения или уточнения, после чего весь разобранный процесс повторяется. Модель считается построенной и завершенной, если она с достаточ­ной точностью характеризует деятельность объекта по выбран­ному критерию. Только после этого модель может быть исполь­зована для расчета.

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

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

 

§2. Некоторые сведения из линейной алгебры.

 

Матрицы

 

Произвольная система элементов совокупности К, располо­женная в виде прямоугольной таблицы, содержащей mстрок и nстолбцов, называется (m, n) матрицей или просто матрицейнад К". Чтобы записать матрицу, выписывают в надлежащем порядке обозначения ее элементов и получившуюся таблицу заключают в скобки или ограничивают двойными чертами.

Такимобразом, общий вид (m, n)– матрицы будет

 

 

где – обозначения элементов из К. Часто вместо такой подробной записи употребляют сокращенную: или Если число строк матрицы равно числу ее столбцов, то матрица называется квадратной, а число ее строк, равное числу столбцов, называется порядком квадратной матрицы. В частности, квадратная матрица порядка 1 – это просто элемент из К.Матрицу,имеющую только одну строку, называют простострокой. В дальнейшем матрицы будут обозначаться большими буквами латинского алфавита.Две матрицы называются равными, если числа строк и столбцов у них соответственно равны и если равны числа, стоящие на соответственных местах этих матриц.

Основными матричными операциями являются умножение числа на матрицу или матрицы на число, сложение и перемножение двух матриц. По определению, чтобы умножить число на матрицу А или матрицу А на число , нужно умножить на все элементы матрицы А. Например,

 

.

 

 

 

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

Ясно, что для каждой матрицы А над К и каждых имеют место соотношения:

 

1.

2.

3.

 

Суммой двух матриц А и В, имеющих соответственно равные числа строк и столбцов, называется матрица, имеющая те же числа строк и столбцов и элементы, равные суммам соответствующих элементов матриц А, В. Например,

 

.

 

Из этого определения непосредственно вытекают соотношения:

4.

5.

6.

7.

8.

Доказательства предоставляются читателю. В частности, применяя свойства 1 и 6, получим

Вводя обозначение будем иметь также

Для краткости вместо обыкновенно пишут .

 

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

 

Если , ,

 

то матрица

 

где

то есть Аmn * Bnp = Cmp

 

называется произведением А и В и обозначается АВ. Например,

 

 

Правило умножения матриц иногда формулируют следующим образом: чтобы получить элемент, стоящий в i-й строке и j-ом столбце произведения двух матриц, нужно элементы i-й строки первой матрицы умножить на сооветственные элементы j-го столбца второй и полученные произведения сложить.

Докажем теперь основные свойства умножения матриц.

9.

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

Аналогично для элемента, находящегося в той же i-й строке и k-м столбце матрицы , получим следующее выражение:

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

10.

11.

Квадратная матрица, все диагональные элементы которой равны 1, а остальные – нулю, называется единичной и обозначается или , где – её порядок. Таким образом,

 

Непосредственным вычислением для любой квадратной матрицы А получим равенство

,

выражающее основное свойство матрицы .

Матрицы, имеющие вид

 

называются диагональными.

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

 

 

 

Транспонирование матриц. Рассмотрим произвольную матрицу

 

Матрица

 

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

 

,

где – какие-либо числа. Докажем, например, второе из этих равенств. Элемент, стоящий в i-й строке и j-м столбце матрицы , равен элементу, стоящему в j-й строке и i-м столбце матрицы AB, т.е. равен

 

где элементы матриц А, В. Но это выражение есть сумма произведений элементов i-й строки матрицы на соответственные элементы j-го столбца матрицы

Если А – произвольная квадратная матрица и

то называется симметрической;

если же

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

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

 

 

Однако, если две симметрические матрицы А, В перестановочны, то их произведение будет снова матрицей симметрической.Действительно, в этом случае

Квадратная матрица А над кольцом К называется обратимой (над К), если существует квадратная матрица Х над К, удовлетворяющая соотношениям

Каждая матрица Х, удовлетворяющая условиям (1), называется матрицей, обратной к А, или обращением матрицы A. У каждой обратимой матрицы А существует лишь одно обращение. Действительно, если наряду с матрицей Х условиям (1) удовлетворяет матрица Y, то, умножая обе части равенства

 

слева на Х, получим

или

Обращение матрицы А, если оно существует, обозначается через Таким образом, по определению

В условия (1) матрицы А и Х входят симметрично, и потому, если Х есть обращение А, то А есть обращение Х, иными словами,

Если квадратные матрицы одного и того же порядка обратимы, то их произведение также обратимо и

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

Для доказательства надо проверить лишь равенства

являющиеся очевидными следствиями соотношений (2) и аналогичных отношений для матриц Для каждой обратимой матрицы А наряду с натуральными степенями рассматривают и ее целые отрицательные степени, полагая по определению

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

 

И если матрицы обратимы и , то

Посмотрим теперь, как связаны операции транспонирования и обращения. Применяя правило транспонирования произведения матриц к соотношениям (1), получаем

 

т.е. в результате транспонирования обратимой матрицы А получается снова обратная матрица и

 

Квадратная матрица Аназывается ортогональной,если

т.е. если транспонированная матрица обратна к исходной. Отсюда, частности, следует, что каждая ортогональная матрица обратима.Так как , то из (6) вытекает, чтообращение ортогональной матрицы есть ортогональная матрица.Далее, если матрицы ортогональны, то

и, значит,

Иными словами, произведение ортогональных матриц есть ортогональная матрица.

Рассмотрим еще одну матричную операцию. Пусть А – произвольная матрица, элементы которой являются комплексными числами. Заменим в А каждый элемент комплексно сопряженным числом. Полученная таким способом новая матрица называется комплексно сопряженнойс А и обозначается . Операция перехода к комплексно сопряженной матрице обладает следующими свойствами:

 

Доказательство их весьма просто и предоставляется читателю.

Матрицы и называются эрмитово-сопряженными.Если то называется эрмитовой или эрмитово-симметрической. Матрица , удовлетворяющая соотношению

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

Определители

Понятие «определитель» возникло в связи с задачей решения систем линейных уравнений. Возьмем какое-нибудь поле К и рассмотрим простейшие системы уравнений 1-й степени с двумя и тремя неизвестными с коэффициентами из К.

Система двух линейных уравнений с двумя неизвестными записывается в следующем виде:

где - заданные числа из К.

Матрицы

 

называется соответственной основной и расширенной матрицами системы (1). Чтобы исключить неизвестное , умножим первое из уравнений на , второе на и сложим их. В результате получим уравнение

Если , то из этого уравнения и аналогичного уравнения, получающегося путем исключения , получим

 

 

Знаменатели выражений для неизвестных здесь одинаковы и представляют собой многочлен от элементов основной матрицы А. Значение этого многочлена называют определителем или детерминантом матрицы А и обозначают или .

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

С помощью определителей формулы (2) можно переписать в виде

 

 

Решая аналогичным путем систему трех уравнений

 

(5)

 

с тремя неизвестными , получим

 

 

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

Матрицы

 

 

называются снова основной и расширенной матрицами системы уравнений (5). Знаменатель в формуле (6) называется определителем или детерминантом квадратной матрицы 3-го порядка А. Итак, согласно определению

Объединяя справа члены, содержащие элементы , и вспоминая формулу (3), получим

 

= . (8)

 

Формулу (8) легко запомнить. Для краткости вместо того, чтобы говорить определитель матрицы 2-го порядка, 3-го порядка, говорят определитель 2-го, 3-го порядка. Три определителя 2-го порядка в формуле (8) получаются из находящегося в ней определителя 3-го порядка вычеркиванием первой строки и соответственно 1-го, 2-го и 3-го столбцов. Далее, определитель 2-го порядка, получившийся вычеркиванием 1-й строки и j-го столбца, следует умножить на элемент, находящийся в первой строке и j-м столбце, все произведения снабдить чередующимися знаками и сложить. В результате и получится определитель 3-го порядка.

 

Таблица «Области применения методов оптимизации»

Примечания к таблице:

1. Эффективное применение метода.

2. Используется.

3. Возможно применение.

4. Используется как вспомогатель­ный метод.

5. Многостадийные процессы (размерность указывается для отдельной стадии).

6. Задачи с линейными критериями оптималь­ности и линейными ограничениями.

7. Используются множители Лагранжа.

8. Задачи с критериями и ограничениями в форме позиномов.

 

 


Виды описания процесса Конечные уравнения Дифференциальные уравнения
Тип ограничений на переменные Нет Равенства Неравенства Нет Равенства Неравенства
Число переменных n ≤3 >3 ≤3 >3 ≤3 >3 ≤3 >3 ≤3 >3 ≤3 >3
Наименование метода Методы классического анализа
Множители Лагранжа - - - - - - - -
Вариационное исчисление - - - - - - 2;7 3;7 - -
Динамическое программирование 1;5 3;5 1;5;7 3;5;7 1;5 3;5
Принцип максимума 2;5 1;5 2;5 2;5 2;5 2;5
Линейное программирование - - - 2;6 2;6 1;6 - - - - - -
Методы нелинейного программирования
Геометрическое программирование 2;8 2;8 - - 2;8 2;8 - - - - - -

 

 


Задачи и целевой функции.

 

Для решения задач математического программирования существенно важно знать:

 

1) Выпукло или не выпукло множество допустимых решений задачи;

2) Яв­ляется ли целевая функция выпуклой или вогнутой или она не относится ни к тому, ни к другому классу.

Напомним необходимые определения. Говорят, что множество выпукло, если оно вместе с любыми своими точками А и В со­держит и все точки отрезка АВ. На рис.1 представлены примеры выпуклых множеств точек плоскости. Примерами выпуклых множеств в пространстве могут служить сфера, пира­мида, призма и т. д.

 

 

Рис. 1.

 

На рис.2. изображены примеры невыпуклых множеств. В невыпуклом множестве можно указать хотя бы две точки, такие, что не все точки отрезка АВ принадлежат рассматри­ваемому множеству. Как пример невыпуклого множества в про­странстве можно указать тор


Рис.2

Область являетсявыпуклой,если отрезок пря­мой, соединяющей любые две точки области, принадлежит этой области. Следовательно, если и х2 находятся в этой области, то любая точка вида (θ + (1 — θ) , где 0 < θ<1, находится в этой же области. На рис.3.аизображена выпуклая область, а на рис.3бневыпуклая.

 

Рис. 3.

Функцию у = f (х)одной переменной будем называтьвыпуклой, если отрезок, соединяющий две любые точки её графика, при­надлежит графику или расположен выше его (рис.4.).

Функциявогнута, если отрезок, соединяющий две любые точки графика, принадлежит графику или расположен ниже его (рис.5.).

 

Рис. 3.

 

Рис.4.Рис.5.

Аналогично можно сформулировать определения понятий вогнутой и выпуклой функций нескольких переменных. Мы го­ворим, что гиперповерхность Z=f1, х2, ..., хп) выпуклая, если отрезок, соединяющий две ее любые точки, лежит на поверхности иливыше ее. Гиперповерхность Z=f1, х2, ..., хп) вогнута, если от­резок, соединяющий две ее любые точ­ки, лежит на поверхности или ниже ее.

Локальный и глобаль­ный минимум функция f(х).

 

Функция f(х)имеет локальный минимум в точке х0, если существует не­которая положительная величина δ, такая, что если |х - х0| <δ, то f(х)f(х0)т. е. если существует окрестность точки х0, такая, что для всех зна­чений х в этой окрестности f(х) большеf(х0)Функцияf(х)имеет глобаль­ный минимум в точке х*,если для всех х справедливо неравенствоf(х)f(х*).На рис.6. дано графическое представление функции f(х),которая имеет локальный минимум в точке х0и глобальныйминимум в точке х*.

 


y

 

Рис.6.

Классический подход к задаче нахождения значений х0и х* состоит в поис­ке уравнений, которым они должны удовлетворять. Представленная на рис. функция и ее производные непрерывны, и видно, что в точках х0и х* производная f''(х),(градиент функции) равна нулю. Следовательно, х0их* будут решениями уравненияf''(х) = 0.Точка хт,в которой достигается локальный максимум, и точка хc, в ко­торой имеется точка горизонтального перегиба функции, также удовлетворя­ют уравнению f''(х) = 0.. Следовательно, уравнение f''(х) = 0является только необходимымусловием экстремума, но не является достаточным условием мини­мума.Заметим, однако, что в точках х0и х* производная f''(х) меняет знак с отрицательного на положительный. В точке хтзнак

меняется с положитель­ного на отрицательный, в то время как в точке хсон не меняется. Следова­тельно, производная в минимуме является возрастающей функцией, а по­скольку степень возрастанияf''(х) измеряется второй производной, можно ожидать, что f'''(х0) > 0,f'''(х*) > 0, тогда какf'''т) < 0.Если, однако, вторая производная равна нулю, ситуация остается неопре­деленной.Полученные выше результаты могут найти надежное обоснование, если рассмотреть разложение функции f(х)в ряд Тейлора в окрестности точки х0(или х*, или хт), что, конечно, требует непрерывности функции f(х),и ее производных:

+ )+ (1.1)
Если в точке х0достигается минимум, то левая часть (1.1) будет неотри­цательной для любого достаточно малого h(|h|<δ). Следовательно, первая производная f''(х0)должна быть равна нулю, и это является достаточным условием. Если бы она была положительной, то до­статочно малое отрицательное значение𝐡 делало бы правую часть (1.1) от­рицательной, а если бы она была отрицательной, то достаточно малое поло­жительное значение делало бы правую часть отрицательной.Так как в следующем члене (1.1) всегда 2>0, то, еслиf'''(х0) > 0,в точке х0достигается минимум.Если и f'''(хm) < 0,, то из ана­логичных соображений в точке хmдостигается

максимум. Для определения различия между локальным и глобальным минимумами необходимо срав­нить значения функцийf(х0)иf(х*).

Пример.

Исследовать характер точек перегиба функции f (х) = х3 - 2х2+ х + 1:

Решение. Зх2-4х+1 = 0,тогда(Зх - 1)(х - 1) = 0, т. е. х = 1/3 или х= 1.

При х = 1/3 производная меняет знак с положительного на отрицательный, а при

х = 1 - с отрицательного на положительный. Следовательно, в точке х = 1/3 дости­гается максимум, а в точке х = 1 - минимум.Этот пример может быть решен более простым способом, если вычислить вторую произв







Что способствует осуществлению желаний? Стопроцентная, непоколебимая уверенность в своем...

Живите по правилу: МАЛО ЛИ ЧТО НА СВЕТЕ СУЩЕСТВУЕТ? Я неслучайно подчеркиваю, что место в голове ограничено, а информации вокруг много, и что ваше право...

Что будет с Землей, если ось ее сместится на 6666 км? Что будет с Землей? - задался я вопросом...

ЧТО И КАК ПИСАЛИ О МОДЕ В ЖУРНАЛАХ НАЧАЛА XX ВЕКА Первый номер журнала «Аполлон» за 1909 г. начинался, по сути, с программного заявления редакции журнала...





Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2023 zdamsam.ru Размещенные материалы защищены законодательством РФ.