Программирование и комп-ры

Применение методов линейного программирования в военном деле. Симплекс-метод




            РЕФЕРАТ


Тема: «Применение методов линейного программирования в
      военном деле. Симплекс-метод»



      курсанта 2-го курса I взв. 8-й роты
      Дальневосточного военного института
      им. К.К. Рокоссовского
      Верещак Дмитрия Владимировича



                   ПЛАН


           I. Что такое линейное программирование
          II. Основные направления использования линейного программирования
              в военном деле
              1.Задачи о перевозках (транспортная) задача
              2.Задачи оптимального распределения средств
                поражения
         III. Симплекс-метод
          IV. Заключение
I.ЧТО ТАКОЕ ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ

         Каждый человек ежедневно, не всегда осознавая это решает  проблему:
как получить наибольший эффект, обладая ограниченными средствами.
         Наши средства и ресурсы всегда  ограничены.  Жизнь  была  бы  менее
интересной , если бы это было не так.  Не  трудно  выиграть  сражение,  имея
армию в 10 раз большую, чем у противника; Ганнибалу,  чтобы  разбить  римлян
при Каннах, командуя вдвое меньшей  армией,  нужно  было  действовать  очень
обдуманно.
         Чтобы достичь наибольшего эффекта, имея ограниченные средства, надо
составить  план,  или  программу  действий.  Раньше  план  в  таких  случаях
составлялся «на глазок» (теперь, впрочем,  зачастую  тоже).  В  середине  XX
века был создан специальный математический аппарат,  помогающий  это  делать
«по науке».  Соответствующий  раздел  математики  называется  математическим
программированием. Слово «программирование» здесь и в  аналогичных  терминах
(«линейное программирование, динамическое программирование» и т.п.)  обязано
отчасти  историческому   недоразумению,   отчасти   неточному   переводу   с
английского. По-русски лучше было  бы  употребить  слово  «планирование».  С
программированием для ЭВМ  математическое  программирование  имеет  лишь  то
общее,  что  большинство  возникающих  на  практике  задач   математического
программирования слишком  громоздки  для  ручного  счета,  решить  их  можно
только с помощью ЭВМ, предварительно составив программу.
         Временем  рождения  линейного  программирования   принято   считать
1939г.,  когда  была  напечатана  брошюра  Леонида  Витальевича  Канторовича
«Математические методы организации и планирования  производства».  Поскольку
методы, изложенные Л.В.Канторовичем, были мало пригодны для  ручного  счета,
а быстродействующих вычислительных машин в то время не существовало,  работа
Л.В.Канторовича осталась почти не замеченной.
         Свое второе рождение линейное программирование  получило  в  начале
пятидесятых годов  с  появлением  ЭВМ.  Тогда  началось  всеобщее  увлечение
линейным  программированием,  вызвавшее  в  свою  очередь  развитие   других
разделов   математического   программирования.   В   1975   году    академик
Л.В.Канторович и американец профессор Т.Купманс получили Нобелевскую  премию
по экономическим  наукам  за  «вклад  в  разработку  теории  и  оптимального
использования ресурсов в экономике».
         Эти  премии  получили  свое  название  в  честь  их  учредителя   –
известного  химика  и  изобретателя  Альфреда  Нобеля,   они   должны   были
присуждаться за научные открытия в области  физики,  химии,  физиологии  или
медицины, за литературные произведения, «отражающие человеческие идеалы»,  а
так же тем, кто «внесет  весомый  вклад  в  сплочение  народов,  уничтожение
рабства,  снижение  численности  существующих  армий  и  содействие   мирной
договоренности». Математикам премия не предназначалась. Однако в  1969  году
Шведский банк по случаю 300-летия со дня своего образования  учредил  премию
памяти А.Нобеля – по экономическим наукам. Она то и была присуждена  в  1975
году Л.В.Канторовичу и Т.Купмансу  за создание  новой  математической  науки
(получившей название линейного программирования) и применение этой теории  в
экономике.
         В  автобиографии,  представленной  в  Нобелевский  комитет,  Леонид
Витальевич Канторович рассказывает о событиях, случившихся в  1939  году.  К
нему,  26-летнему   профессору-математику,   обратились   за   консультацией
сотрудники лаборатории планерного треста, которым нужно было  решить  задачу
о наиболее выгодном  распределении  материала  между  станками.  Эта  задача
сводилась   к   нахождению   максимума   линейной   функции,   заданной   на
многограннике. Максимум такой функции достигался  в  вершине,  однако  число
вершин в этой задаче достигало миллиарда… Поэтому простой перебор вершин  не
годился. Леонид Витальевич писал: «оказалось, что  эта  задача  не  является
случайной. Я обнаружил большое  число  разнообразных  по  содержанию  задач,
имеющих  аналогичный  математический   характер:   наилучшее   использование
посевных  площадей,  выбор  загрузки  оборудования,   рациональный   раскрой
материала, распределение транспортных грузопотоков… Это настойчиво  побудило
меня к поиску эффективного метода их решения». И уже летом  1939  года  была
сдана в набор книга Л.В.Канторовича  «Математические  методы  организации  и
планирования производства», в  которой  закладывались  основания  того,  что
ныне называется математической экономикой.
         Но вернемся в 1939 год. Говорят, что истина рождается ересью и увы,
так случилось и  с  идеями  Л.В.Канторовича  в  области  экономики.  Они  не
встретили понимания в момент их зарождения, были  объявлены  ересью,  и  его
работа была прервана.
         Концепции Леонида Витальевича вскоре после войны  были  переоткрыты
на западе. Американский экономист Т.Купманс в течении многих  лет  привлекал
внимание математиков  к  ряду  задач,  связанных  с  военной  тематикой.  Он
активно способствовал тому, чтобы был организован  математический  коллектив
для разработки этих проблем. В  итоге  было  осознано,  что  надо  научиться
решать задачи о нахождении экстремумов линейных функций  на  многогранниках,
задаваемых линейными неравенствами.  По  предложению  Купманса  этот  раздел
математики получил название линейного программирования.
         Американский математик А.Данциг  в  1947  году  разработал   весьма
эффективный   конкретный   метод   численного   решения   задач    линейного
программирования (он  получил  название  симплекс  метода).  Идеи  линейного
программирования   в   течении   пяти   шести   лет   получили   грандиозное
распространение в мире, и имена Купманса  и  Данцига  стали  повсюду  широко
известны.
         Примерно в это время Купманс узнал, что  еще  до  войны  в  далекой
России  уже  было  сделано  нечто  похожее  на  разработку  начал  линейного
программирования. Как легко было бы Данцигу и Купмансу  проигнорировать  эту
информацию! Маленькая книжица, изданная ничтожным тиражом,  обращенная  даже
не а экономистам, а к организаторам производства,  с  минимумом  математики,
без четко описанных алгоритмов, без доказательств теорем – словом, стоит  ли
принимать такую книжку во внимание… Но  Купманс  настаивает  на  переводе  и
издании на западе книги Канторовича. Его  имя  и  идеи  становятся  известны
всем. Воздадим должное благородству американского ученого!
         А самому Леониду Витальевичу – как естественно было бы ему, испытав
первые грозные удары ретроградов, остеречься от «грехов»  молодости,  забыть
про  всю  эту  экономику  и  вернуться  к  математике.   Но   Л.В.Канторович
продолжает писать математические работы,  навеянные  экономическими  идеями,
участвует  и  в   конкретных   разработках   на   производстве.   При   этом
(одновременно с Данцигом, но не зная  его  работ)  он  разрабатывает  метод,
позже  названный  симплекс-методом.  Как  только  в  50-е  годы   образуется
маленький  просвет  и  кое  что  из  запретного  становится   возможным,  он
организует  группу студентов на экономическом факультете  ЛГУ  для  обучения
методам оптимального планирования. А начиная с 1960 года  Леонид  Витальевич
занимается  только  экономической   и   связанной   с   нею   математической
проблемами. Его вклад в этой области был отмечен Ленинской  премией  в  1965
году (присуждена ему совместно с В.С.Немчиновым и  В.В.Новожиловым)  и,  как
уже говорилось, Нобелевской премией в 1975 году.



II.ОСНОВНЫЕ НАПРАВЛЕНИЯ ИСПОЛЬЗОВАНИЯ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ  В  ВОЕННОМ
ДЕЛЕ.

         Наиболее распространенными  направлениями  использования  линейного
программирования в военном деле являются:
          - задача о перевозках (транспортная задача)
          - задача на распределение  сил  и  средств  (распределение  сил  и
            средств поражения по целям, распределение сил и средств разведки
            и др.)

1. ЗАДАЧИ О ПЕРЕВОЗКАХ (ТРАНСПОРТНАЯ ЗАДАЧА).

         Эти задачи являются  исторически  одними  из  первых,  для  решения
которых  использовалось  линейное   программирование.   В   зависимости   от
выбранного критерия эффективности различают транспортные задачи по  пробегу,
по стоимости, по времени, совместно по  критериям  пробега  и  стоимости,  с
ограничениями  по  пропускной  способности  дорог  и  транспорта,  задачи  в
сетевой постановке и др.
         Сформулируем   в   общем   виде   транспортную   задачу   линейного
программирования по критерию стоимости. Эта  задача  имеет  значение  тогда,
когда время не является определяющим фактором при организации перевозок.
         Пусть  имеется  m  складов,  в   которых   сосредоточен   некоторый
однородный продукт (ГСМ, боеприпасы и  т.д.)  в  количествах  соответственно
аi(i=1,2,…,m) единиц. Имеется n потребителей этого  продукта  в  количествах
соответственно  bj(j=1,2,…,n)  единиц.  На  основании  опытов   и   расчетов
известно, что на доставку одной единицы  продукта  с  i-того  склада  j-тому
потребителю затрачивается сij денежных единиц.
         Все значения cij  являются  постоянными  величинами.  Перечисленные
исходные данные помещены в таблице 1.
         Обозначим через xij(0 (i=1,2,…,m;  j=1,2,…n)  количество  продукта,
планируемого для доставки с i-того склада j-тому  потребителю.  Естественно,
что если xij=0, то доставка продукта с i-того склада j-тому  потребителю  не
планируется.  План  обеспечения  всех  потребителей  определяется   таблицей
(матрицей):

         [pic]                  (1)


         Таблица 1.
|Склады   |               Потребители                          |Запасы на |
|         |                                                    |складах   |
|         |    1       |    2       |    …       |   N        |          |
|   1     |            |            |    …       |            |   a1     |
|         |cn          |c12         |            |c1n         |          |
|   2     |            |            |    …       |            |   a2     |
|         |c21         |c22         |            |c2n         |          |
|   …     |    …       |    …       |    …       |    …       |   …      |
|   M     |            |            |    …       |            |   am     |
|         |cm1         |cm2         |            |cmn         |          |
|Потребнос|    b1      |    b2      |    …       |    bn      |          |
|ть       |            |            |            |            |          |

         Очевидно, можно предложить большое  число  планов  (1)  обеспечения
потребителей, но при выборе любого из них должны быть учтены условия:

         [pic]              (2)

         [pic]               (3)

         Выражения (2) определяют, что с любого склада можно взять  продукта
не  более  имеющихся  там  запасов.  Выражения  (3)  означают,  что   каждый
потребитель обеспечивается полностью его заявке.  По  смыслу  задачи  должно
выполняться условие:

         [pic]

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

         [pic]                (4)

         Транспортная  задача   линейного   программирования   по   критерию
стоимости формулируется следующим образом.
         Найти такие значения xij (т.е. найти  такой  план  перевозок  (1)),
удовлетворяющий  условиям  (2),  (3),  при   которых   суммарная   стоимость
перевозок (4) будет минимальной.
         При больших m и n эта задача  решается  на  ЭВМ.  Для  этого  нужно
ввести в машину исходные данные, помещенные в таблице  1  и  воспользоваться
разработанной программой. При небольших m  и  n  задача  может  быть  решена
вручную с использованием общих методов решения. Для значений m и  n  до  5-6
задачу часто удается решить путем прикидочных расчетов, перебором  вариантов
и логических размышлений.
         Задача. Для обеспечения ГСМ четырех танковых соединений имеется три
склада. Известны запасы ГСМ и  потребности  в  нем  соединений.  Определение
стоимости доставки одной тонны ГСМ из каждого  склада  в  любое  соединение.
Все исходные данные записаны в таблице 2.
         Сформулировать задачу линейного программирования для данных условий
и определить такой план снабжения  ГСМ  соединений,  при  котором  суммарный
расход на его провозку будет минимальным.
         Решение: Обозначим через xij(i=1,2,3;  j=1,2,3,4)  количество  ГСМ,
планируемых  для  доставки  с  i-того  склада  (i=1,2,3)  j-тому  соединению
(j=1,2,3,4).



         Таблица 2.
|Склады   |               Соединения                           |Запасы ГСМ|
|         |                                                    |на складах|
|         |    1       |    2       |    3       |   4        |          |
|   1     |x11=350     |x12=0       |x13=50      |x14=500     |  900     |
|         |3*          |4           |            |3*          |          |
|   2     |x21=0       |x22=200     |x23=0       |x24=0       |  300     |
|         |5           |4           |7           |8           |          |
|   3     |x31=0       |x32=250     |x33=350     |x34=0       |  60      |
|         |4           |3*          |5*          |4           |          |
|Потребнос|   350      |   450      |   400      |   500      |          |
|ть в ГСМ |            |            |            |            |          |


         Выбор планов зависит от запасов ГСМ на складах и потребностей в нем
соединений, что математически определяется выражениями:

         [pic]        (21)
         [pic]             (31)

         Суммарные  расходы  на   перевозку   ГСМ   определяются   линейными
выражениями:

         [pic] (41)

         Требуется  определить  такие  значения  xij  (выбрать  такой  план)
удовлетворяющий выражениям  (21)  и  (31),  которые  критерий  эффективности
обращают в минимум. Так формулируется задача линейного программирования  для
данных условий.
         Эта задача решается элементарными подсчетами и рассуждениями.
         Отметим  в  столбцах  звездочками  минимальные  значения  стоимости
перевозки одной тонны ГСМ. В каждое соединение  нужно  планировать  доставку
из того склада, для которого эта стоимость будет наименьшей  или  близкой  к
ней, но с учетом расходов на доставку ГСМ и в другие  соединения.  Очевидно,
в 1-е и 4-е соединение целесообразно завозить ГСМ полностью из 1-го  склада,
поэтому  целесообразно  выбрать  x11=350,  x14=500.  Во  второе   соединение
выгодно доставить горючее целиком с 3-го  склада.  Но  тогда  будут  большие
расходы  при  доставке  ГСМ  в  3-е  соединение  из  2-го  склада.   Поэтому
целесообразно  выбрать  x13=50,  x33=350,  т.е.  завести   горючее   в   3-е
соединение с 1-го и 3-го складов, а 200 т. для 2-го  соединения  завести  из
склада, x22=200, x32=250. Результаты  расчетов  занесены  в  таблице  2,  по
которой удобно проверить выполнение условий (21), (31), найдя суммы  xij  по
строкам и столбцам.
         При таком плане расходы будут минимальными:

         [pic]

         Для сравнения, какую  можно  иметь  экономию  в  средствах,  выбрав
оптимальный план, рассмотрим один из возможных планов:
         x11=350, x12=450, x13=x14=0, x21=x22=x23=0,
         x24=300, x31=x32=0, x33=400, x34=200
         При этом плане стоимость перевозок будет равна:

         [pic]

         Она больше на 1950 единиц Kmin, что составляет более чем 30%.
         Полученное оптимальное  решение  является  основой  для  применения
объективного  решения  на  снабжение  ГСМ  соединений  с  учетом  конкретной
обстановки.

2.ЗАДАЧИ ОПТИМАЛЬНОГО РАСПРЕДЕЛЕНИЯ СРЕДСТВ ПОРАЖЕНИЯ.

         Задачи оптимального распределения средств поражения  в  общем  виде
формулируются так: имеется некоторое количество средств поражения  и  целей.
Требуется так распределить средства поражения по целям, чтобы  общий  эффект
применения  был в определенном смысле оптимален.
         Поражение противника является  одним  из  важных  элементов  боевых
действий. Поэтому решение задач на  поражение  является  важным  этапом  при
планировании и управлении боевыми действиями.
         Различают два основных типа задач целераспределения:
          - для средств поражения, находящихся в обороне;
          - для средств поражения нападения;
         Распределение  средств  поражения  обороны  осуществляется  в  ходе
боевых действий, выявляемые цели и возникающие условия заранее неизвестны  и
во многом определяются противником. Расчеты нужно производить очень  быстро,
что возможно при наличии современных вычислительных средств.
         Распределение средств нападения  по  выявленным  целям  может  быть
спланировано заранее на основе расчетов. Однако резкой границы  между  этими
вариантами  нет  потому,  что  в  обоих  случаях  выявляются   новые   цели,
изменяются условия и потребуется производить перерасчеты.
         Задача распределения средств поражения при ведении боевых  действий
в полной  мере  очень  сложна  и  требует  учета  большого  числа  факторов.
Некоторые  же  частные  задачи  успешно   решаются   с   помощью   линейного
программирования.
         Рассмотрим первую из  таких  задач.  Имеется  m  различных  средств
поражения и n целей. Принимаются следующие допущения:
          - число средств поражения не превосходит числа целей m(n;
          - цели имеют разную важность, определяемую коэффициентом  важности
            kj (j=1,2,…,n);
          - за каждой целью не может быть закреплено более  одного  средства
            поражения, то есть должно  быть  обстреляно  максимальное  число
            целей;
          - известны вероятности pij поражения  i-ым  средством  j-ой  цели,
            которые составляют таблицу вероятностей поражения [pic]:


         [pic]              (5)

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

         [pic]             (6)

         где kj (j=1,2,…,m) –  коэффициенты,  определяющие  важность  целей.
Если цели имеют одинаковую важность, то  k1=k2=…=km=1.  При  этих  значениях
выражение (6) является математическим ожиданием  числа  уничтоженных  целей.
Требование, чтобы каждое средство  было  закреплено  за  какой  либо  целью,
определяется выражениями

         [pic]      (i=1,2,…,m)       (7)

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

         [pic]      (j=1,2,…,n)       (8)

         В случае знака равенства во всех выражениях (8) имеет место m=n,  в
противном  случае  m

смотреть на рефераты похожие на "Применение методов линейного программирования в военном деле. Симплекс-метод "