Как да намерим оптималната стойност на целевата функция. Каква трябва да бъде целевата функция?

Целевата функция е функция с някои променливи, от които пряко зависи постигането на оптималност. Той може също да действа като няколко променливи, които характеризират определен обект. Можем да кажем, че по същество това показва как сме напреднали към постигането на нашата цел.

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

Целевата функция ви позволява да отговорите на няколко въпроса:

Дали това или онова събитие е полезно или не;

Движението върви ли в правилна посока?

Колко правилен е изборът и т.н.

Ако нямаме възможност да повлияем на параметрите на функцията, тогава можем да кажем, че не можем да направим нищо, освен може би просто да анализираме всичко. Но за да можете да промените нещо, обикновено има променливи функционални параметри. основната задача- това е да промените стойностите до тези, при които функцията става оптимална.

Целевите функции не винаги могат да бъдат представени под формата на формула. Това може да бъде например маса. Също така условието може да бъде под формата на няколко обективни функции. Например, ако искате да осигурите максимална надеждност, минимални разходии минимален разход на материал.

Оптимизационните задачи трябва да имат най-важното начално условие – целева функция. Ако го направим, тогава можем да предположим, че оптимизацията не съществува. С други думи, ако няма цел, тогава няма начини да я постигнете, още по-малко благоприятни условия.

Задачите за оптимизация могат да бъдат условни и безусловни. Първият тип включва ограничения, тоест определени условия при поставяне на проблема. Вторият тип е да намерите максимума или със съществуващи параметри. Често такива проблеми включват търсене на минимум.

В класическото разбиране на оптимизацията се избират такива стойности на параметрите, при които целева функцияудовлетворява желаните резултати. Може да се определи и като процес на избор на най-добрия възможен вариант. Например избор на най-доброто разпределение на ресурсите, опция за дизайн и т.н.

Има такова нещо като непълна оптимизация. Може да се образува по няколко причини. Например:

Броят на уловените хора максимална точкасистемите са ограничени (вече е установен монопол или олигопол);

Няма монопол, но няма и ресурси (липса на квалификация в каквото и да е състезание);

Липсата на най-много или по-скоро „незнание“ за това (човек мечтае за определено красива жена, но не се знае дали такова нещо съществува в природата) и т.н.

В условията на пазарни отношения за управление на продажбената и производствената дейност на фирмите и предприятията основата за вземане на решение е информацията за пазара, като валидността на това решение се проверява при навлизане на пазара със съответния продукт или услуга. В този случай отправната точка е да се проучи потребителското търсене. За да се намерят решения, се установява целева функция за потребление. Той показва количеството потребени стоки и степента на задоволяване на потребностите на потребителите, както и връзката между тях.

Променливи на задачите

Нека изградим модел на проблема.

Решение

Преди да изградите математически моделзадачи, ᴛ.ᴇ. запишете го с помощта на математически символи, изключително важно е ясно да разберете икономическата ситуация, описана в условието. За това е изключително важно от гледна точка на икономиката, а не на математиката, Отговори на следните въпроси:

1) Какви са необходимите количества от проблема?

2) Каква е целта на решението? Какъв параметър на проблема служи като критерий за ефективността (оптималността) на решението, например печалба, цена, време и др. В каква посока трябва да се промени стойността на този параметър (на max или на min), за да се постигне най-добри резултати?

3) Какви условия трябва да бъдат изпълнени по отношение на необходимите количества и ресурси на задачата?

Тези условия определят как различните параметри на проблема трябва да се съотнасят един към друг, например количеството ресурс, изразходван в производството, и неговия запас в склада; количеството на произведената продукция и капацитета на склада, в който ще се съхранява; количеството на произведените продукти и пазарното търсене на тези продукти и др.

Само след икономическия отговор на всички тези въпроси можете да започнете да записвате тези отговори математическа форма, ᴛ.ᴇ. за записване на математическия модел.

Проблемът изисква да се определи колко боя от всеки тип трябва да се произведе. Поради тази причина желаните количества и следователно променливи на задачатаса дневните производствени обеми на всеки вид боя:

x1 – дневен обем на производство на боя от 1-ви вид, [t боя/ден];

x2 – дневен обем на производство на боя от 2-ри вид, [t боя/ден].

В формулировката на задачата се посочва целта - да се постигне максимален доходот продажба на продукти. Тези. Критерият за ефективност е параметърът дневен доход, който трябва да се стреми към максимума. За да изчислите размера на дневния доход от продажбата на бои от двата вида, е изключително важно да знаете обема на производството на бои, ᴛ.ᴇ. x1 и x2 тона боя на ден, както и Цени на едроза бои от 1-ви и 2-ри тип - според условията, съответно 3 и 2 хиляди рубли. за 1 тон боя. Τᴀᴋᴎᴍ ᴏϬᴩᴀᴈᴏᴍ, приходите от продажбата на дневния обем на производство на бои от 1-ви вид са 3 x 1 хил. Рубли. на ден, а от продажбата на боя от 2-ри тип - 2x 2 хиляди рубли. на ден. Поради тази причина записваме целевата функция като сумата от приходите от продажбата на бои от 1-ви и 2-ри тип (приемайки независимост на обемите на продажбите на всяка боя)

Обективна функция – понятие и видове. Класификация и характеристики на категорията "Целева функция" 2017, 2018.

  • - Основни понятия. Критерии за ефективност. Целева функция

    ГЛАВА 16. ЕФЕКТИВНОСТ НА УПРАВЛЕНИЕТО КОНТРОЛ ВЪПРОСИ 1. Какво е причинило необходимостта от външноикономическа дейност на предприятието? 2. Какво благоприятства външноикономическата дейност на едно предприятие? 3. Какво е пречка за... .


  • - В нашия пример целевата функция има формата

    F(X) = 75X1 + 800/X1 + 78X2 + 1600/X2. Функцията е изпъкнала, ако F"(x)>0 за всяко x. Нека проверим: ; ; ; . Това означава, че функцията е изпъкнала, защото "x>0. Следователно изборът на оптимален брой влакове на два участъка се оказва изпъкнал програмен проблем, който може да бъде решен... .


  • - Целева функция на потреблението и моделиране на потребителското поведение

    В условията на пазарна система за управление на производствените и търговските дейности на предприятията и фирмите основата за вземане на бизнес решения е пазарната информация, а валидността на решенията се проверява от пазара по време на продажбата на стоки и услуги. С този подход...

  • В условията на пазарна система за управление на производствените и търговските дейности на предприятията и фирмите основата за вземане на бизнес решения е пазарната информация, а валидността на решенията се проверява от пазара по време на продажбата на стоки и услуги. При този подход отправната точка на целия цикъл на предприемаческата дейност е изследването на потребителското търсене. Нека разгледаме някои въпроси на моделирането на търсенето и потреблението.

    Помислете за потребител, който в резултат на своето съществуване консумира някои стоки. Нивото на задоволяване на нуждите на потребителите ще бъде означено с U.Приемете, че има нвидове стоки B 1, B 2,…, B n. Ползите могат да включват:

    · хранителни продукти;

    · стоки от първа необходимост;

    · стоки от първа необходимост;

    · луксове;

    · платени услуги и др.

    Нека количеството потребление на всяка стока е равно х 1 , х 2 ,…, x n. Функция за целево потреблениесе нарича връзката между степента (равнището) на задоволяване на потребностите Uи количеството на консумираните стоки: х 1 , х 2 , …, x n. Тази функция изглежда като.

    В пространството на потребителските стоки всяко уравнение съответства на определена повърхност от еквивалентни или безразлични набори от стоки, която се нарича повърхността на безразличието. Хиперповърхността на такава крива, наречена многомерна повърхност на безразличие, може да бъде представена като , където СЪС- постоянен. За по-голяма яснота, нека разгледаме пространството на две стоки, например, под формата на две агрегирани групи стоки: храна B 1 и нехранителни стоки, включително платени услуги Б 2. Тогава нивата на целевата функция на потреблението могат да бъдат изобразени на равнината под формата на криви на безразличие, съответстващи на различни значенияконстанти СЪС.За да направите това, изразете количеството потребление на една стока х 1 през друг х 2. Нека разгледаме един пример.

    Пример 6.3. Функцията на целевото потребление има формата . Намерете кривите на безразличие.

    Решение. Кривите на безразличие изглеждат така или , или (трябва да се отбележи, че трябва да се изпълни).



    Всеки потребител се стреми да увеличи максимално нивото на задоволяване на потребностите, т.е. Въпреки това, максимизирането на степента на задоволяване на потребностите ще бъде възпрепятствано от възможностите на потребителя. Нека означим цената за единица на всяка стока с Р 1 , Р 2 ,…, р n, и доходите на потребителите чрез д.Тогава трябва да се изпълни бюджетно ограничение , което има смисъла на закона, според който потребителските разходи не трябва да надвишават размера на дохода:

    В резултат на това, за да се намери оптималният набор от стоки, е необходимо да се реши проблемът оптимално програмиране:

    (6.3)

    Помислете за двуфакторна функция на потреблението, където х 1 - обем на консумация на храна и х 2 - потребление на нехранителни продукти и платени услуги. В допълнение, нека приемем, че потребителят използва целия си доход, за да задоволи нуждите си. В този случай бюджетното ограничение ще съдържа само два термина и неравенството ще се превърне в равенство. Проблемът с оптималното програмиране тогава приема формата:

    (6.4)

    Геометрично оптимално решениеима значението на точката на допир на кривата на безразличие към линията, съответстваща на бюджетното ограничение.

    х 2
    От бюджетното ограничение на системата (6.4) можем да изразим променливата. Замествайки този израз в целевата функция, получаваме функция на една променлива , чийто максимум може да се намери от уравнението чрез приравняване на производната на нула: .

    Пример 6.4. Целевата функция на потреблението има формата . Цена за добро Б 1се равнява на 20, цената на стоката Б 2е равно на 50. Доходът на потребителя е 1800 единици. Намерете кривите на безразличието, оптималния набор от потребителски стоки, функцията на търсенето за първата стока по цена, функцията на търсенето за първата стока по доход.

    Решение.Кривите на безразличие изглеждат така:

    Получаваме набор от хиперболи, разположени в първата координатна четвърт на на различни разстоянияот началото в зависимост от стойността на константата СЪС.

    Ние намираме оптималния набор от стоки. Проблемът с оптималното програмиране има формата:

    За да го разрешим, изразяваме една променлива от бюджетното ограничение по отношение на друга: . Заместете в целевата функция

    Намерете производната и я приравнете на нула

    Получаваме.

    По този начин оптималният набор от стоки е 30,5 и 23,8 единици. Сега намираме функцията на търсенето за първата стока въз основа на нейната цена. За целта в бюджетното ограничение вместо фиксирана стойност въвеждаме цената на първата стока, получавайки уравнението: . Ние изразяваме

    или , откъдето намираме функцията на търсенето за първата стока на цена: .

    Сега намираме функцията на търсенето за първата стока по отношение на дохода. За да направите това, ние изразяваме от бюджетното ограничение една променлива през друга: . Заместете в целевата функция:

    Намираме производната и я приравняваме на нула:

    От тук намираме функцията на търсенето за първата стока по доход

    7. Модел
    междуотраслов баланс

    Балансовите модели са предназначени за анализ и планиране на производството и дистрибуцията на продуктите различни нива- от отделно предприятие към националната икономика като цяло. Ако си припомним историята на националната икономика като съветски съюзкакто Русия, така и други развити страни, може да се наблюдава, че в икономиките на много страни в различно времеИмало е икономически кризи с различни крайности, от кризи на свръхпроизводство (САЩ, средата на ХХ век) до недостиг (Русия, края на ХХ век). Всички тези икономически кризи са свързани с дисбаланс между производство и потребление. От тези факти става ясно, че балансът между производство и потребление е важен критерийкакто за макроикономиката, така и за микроикономиката.

    Много икономисти и математици се опитват да изградят икономически и математически балансови модели от самото начало на проблема, но най-пълният балансов модел е построен през 1936 г. от американския икономист В. Леонтиев (който емигрира в САЩ след революцията и получава Нобелова награда в областта за неговия модел на икономика). Този модел даде възможност да се изчисли балансът между няколко взаимодействащи индустрии, въпреки че може лесно да се обобщи за микроикономически организации, например, за да се изчисли балансът между няколко взаимодействащи предприятия или между подразделения на едно предприятие (например цехове на едно и също предприятие ).

    Целта на балансовия анализ е да отговори на въпроса, който възниква в макроикономиката и е свързан с ефективността на управлението на диверсифицирана икономика: какъв трябва да бъде обемът на производството на всеки от Пиндустрии, за да задоволят всички продуктови нужди на тази индустрия? Освен това всяка индустрия действа, от една страна, като производител на определени продукти; и от друга страна, като потребител на продукти, както собствени, така и произведени от други индустрии.

    Да приемем, че обмисляме Потрасли, всяка от които произвежда свои собствени продукти. Нека общият обем на произведените продукти аз-та индустрия е равна на . Общата себестойност на произведените продукти азта индустрия, ще наричаме брутния продукт на тази индустрия. Сега нека да разгледаме за какво се харчат продуктите, произведени от индустрията. Част от продукцията се използва за вътрешно потребление от този отрасъл и за потребление от други отрасли, свързани с този отрасъл. Брой продукти аз-та индустрия, предназначена за крайно потребление (извън сферата на материалното производство) лично и обществено йобозначаваме тази индустрия с . Останалата част е предназначена за внедряване във външната сфера. Тази част се нарича краен продукт. Позволявам аз-I индустрията произвежда крайния продукт.

    Помислете за производствения процес за определен период от време (например година). Тъй като брутният обем на продукцията е произволен аз- индустрията е равна на общия обем на консумираната продукция нотрасли и крайния продукт, тогава уравнението на баланса между производството и потреблението ще има формата

    , (аз= 1, 2, …, н). (7.1)

    Уравненията (7.1) се наричат балансови отношения.

    . (7.2)

    Всички обсъдени по-рано показатели могат да бъдат записани в основния баланс:

    Индустрия Потреблението на индустриите, Краен продукт, брутен продукт,
    н
    н
    Чист продукт

    В резултат на това основният баланс съдържа четири матрици: матрица на междусекторните производствени връзки

    ; матрица на брутната продукция; матрица на крайния продукт и матрица на нетния продукт .

    Една от задачите на балансовия анализ е да се определи брутният продукт, ако е известно разпределението на крайния продукт. За целта въвеждаме коефициенти на преки разходи

    Те се получават чрез разделяне на всички елементи от всяка колона на матрицата на съответния елемент от матрицата на междусекторните производствени връзки х.Коефициентите на преки разходи имат значението на количеството потребление на продукта й-та индустрия, необходима за производство на единица продукция азта индустрия. От израз (7.3) можем да получим: . Замествайки последния израз в балансовата връзка (7.1), получаваме

    . (7.4)

    Ако означим матрицата на коефициентите на преките разходи като , тогава връзката на баланс (7.4) в матрична форма може да бъде записана като

    От последния израз можете да намерите стойността на крайния продукт с известна стойност на брутния

    Където - матрица за идентичност със същия размер като А.

    Пример 7.1. Баланс на четири отрасли за предишен периодима матрица на междуотрасловите производствени връзки на формата и матрица на брутната продукция от формата . Необходимо е да се определи крайният продукт Yи чист продукт ° Свсяка индустрия.

    Краен продукт Yсе получава чрез изваждане от всеки елемент на матрицата на брутната продукция на сумата от елементите на съответните редове на матрицата. Например, първата стойност е 100 – (10 + 20 + 15 + 10) = 45. Чист продукт СЪСсе получава чрез изваждане на брутната продукция от всеки елемент на матрицата хсумата от елементите на съответните колони на матрицата. Например, първата стойност е 100 – (10 + 5 + 25 + 20) = 40. В резултат на това получаваме основния баланс:

    Индустрия Потреблението на индустриите, Краен продукт, брутен продукт,
    Чист продукт S=210 S = 400

    Нека сега поставим друга задача: ще изчислим крайния продукт на всяка индустрия за бъдещия период, ако брутният продукт се окаже равен . За да решим този проблем, намираме коефициентите на преките разходи: i -та индустрия.

    Пример 7.2. В даден регион има два основни сектора на националната икономика: машиностроене (m/s) и селско стопанство (земеделие). Салдото на тези отрасли за отчетния период се определя от матриците , . Нека изчислим останалите показатели и попълним основния баланс

    Да приемем, че крайните продукти в обеми са планирани за бъдещия период. Необходимо е да се определи какъв брутен продукт трябва да се планира. Нека намерим коефициентите на преките разходи:

    Могат да бъдат идентифицирани следните причини защо икономическите системи са стохастични:

    1) системата е сложна, многокритериална, описана като многостепенна йерархична структура;

    2) системата е повлияна голямо числонеконтролируеми външни фактори (атмосферни условия, външна политика, социални фактории т.н.);

    3) умишлено изкривяване на информация, укриване на информация и целенасочен икономически саботаж.

    Въз основа на това, за моделиране мн икономически системиизползване математически методи, основан на прилагането на законите на теорията на вероятностите, които се наричат стохастични методи.

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

    Стохастичните системи в икономиката се описват от апарата на Марков, който се основава на Марков случайни процеси . Те се използват в случаите, когато моделът не може да бъде формализиран (описан с аналитичен израз) и когато системата е многопараметрична вероятностна икономическа система.

    27 август 2017 г. в 14:20 ч

    Решението е директно и двоен проблем линейно програмиранеизползвайки Python

    Въведение

    Трябва да се отбележи, че методите за решаване на проблеми с линейно програмиране включват не към икономиката, а към математиката и компютърните технологии.В същото време икономистът трябва да осигури най-удобните условия за диалог с подходящия софтуер. От своя страна, такива условия могат да бъдат осигурени само от динамично развиващи се и интерактивни среди за разработка, които имат в своя арсенал набор от библиотеки, необходими за решаване на подобни проблеми. Една от които среди за разработка софтуеропределено е Python.

    Формулиране на проблема

    Публикациите разглеждат решения на проблеми с директна оптимизация с помощта на метода на линейно програмиране и предлагат разумен избор на решаващия инструмент scipy. оптимизиране.

    Известно е обаче, че всеки проблем с линейно програмиране съответства на така наречения разграничен (двоен) проблем. При нея в сравнение с пряката задача редовете се превръщат в колони, неравенствата сменят знака, вместо максимум се търси минимум (или обратното, вместо минимум се търси максимум). Задачата, двойна към двойната, е самата оригинална задача.

    Решаването на двойния проблем е много важно за анализа на използването на ресурси. В тази публикация ще бъде доказано, че оптималните стойности на целевите функции в оригиналните и двойните проблеми съвпадат (т.е. максимумът в първоначален проблемсъвпада с минимума в дуала).

    Оптималните стойности на разходите за материали и труд ще бъдат оценени според техния принос към целевата функция. Резултатът ще бъде „обективно определени оценки“ на суровини и труд, които не съвпадат с пазарните цени.

    Решение на пряката задача за оптималната производствена програма

    Имайки в предвид високо нивоматематическо обучение на по-голямата част от потребителите на този ресурсНяма да представям балансови уравнения с горни и долни ограничения и въвеждане на допълнителни променливи за преход към равенства. Затова веднага ще дам обозначенията на променливите, използвани в решението:
    N – брой видове произведени продукти;
    m – брой видове използвани суровини;
    b_ub - вектор на наличните ресурси с размерност m;
    A_ub е матрица с размерност m×N, всеки елемент от която е потреблението на ресурс от тип i за производството на единица продукт от тип j;
    c е векторът на печалбата от производството на единица от всеки вид продукт;
    x – необходимите количества произведена продукция от всеки вид (оптимален производствен план), осигуряващ максимална печалба.

    Целева функция
    maxF(x)=c×x

    Ограничения
    A×x≤b

    Числени стойности на променливите:
    N=5; m=4; b_ub =; A_ub = [, , ,]; c = .

    Задачи
    1. Намерете x, за да осигурите максимална печалба
    2. Намерете ресурсите, използвани при изпълнение на стъпка 1
    3. Намерете оставащите ресурси (ако има такива), когато изпълнявате стъпка 1


    За да се определи максимумът (по подразбиране се определя минимумът, коефициентите на целевата функция трябва да бъдат записани с отрицателен знак c = [-25, -35,-25,-40,-30] и да се игнорира знакът минус в предната част на печалбата.

    Обозначения, използвани за показване на резултатите:
    х– масив от променливи стойности, които осигуряват минимума (максимума) на целевата функция;
    отпуснатост– стойности на допълнителни променливи. Всяка променлива съответства на ограничение за неравенство. Нулева стойностпроменлива означава, че съответното ограничение е активно;
    успех– Вярно, ако функцията е успяла да намери оптималното решение;
    състояние– състояние на решението:
    0 – търсенето на оптималното решение приключи успешно;
    1 – достигнато е ограничението за брой итерации;
    2 – проблемът няма решения;
    3 – целевата функция не е ограничена.
    гнида– брой извършени итерации.

    Изброяване на решението на задачата за директна оптимизация

    #!/usr/bin/python # -*- кодиране: utf-8 -*- import scipy от scipy.optimize import linprog # зареждане на LP библиотека c = [-25, -35,-25,-40,-30] # списък с коефициенти на целевата функция b_ub = # списък с обеми на ресурси A_ub = [, # матрица на специфични стойности на ресурса ​​, , ] d=linprog(c, A_ub, b_ub) # търсене на решение за key,val в d.items(): print(key,val) # изход на решение if key=="x": q=#използвани ресурси print("A_ub*x",q) q1= scipy.array(b_ub)-scipy.array (q) #оставащи ресурси print(" b_ub-A_ub*x", q1)


    Резултати от решаването на проблема
    гнида 3
    състояние 0

    успех Вярно
    x [ 0. 0. 18.18181818 22.72727273 150. ]
    A_ub*x
    b_ub-A_ub*x [0. 0. 0. 90.90909091]
    забавно -5863.63636364
    отпуснатост [0. 0. 0. 90.90909091]

    заключения

    1. Намерен е оптималният план за видовете продукти
    2. Намерено действително използване на ресурси
    3. Намерен е остатъкът от неизползвания четвърти тип ресурс [ 0. 0 0.0 0.0 90.909]
    4. Няма нужда от изчисления съгласно стъпка 3, тъй като същият резултат се показва в променливата slack

    Решение на двойствената задача върху оптималната производствена програма

    Четвъртият вид ресурс в пряката задача не се използва напълно. Тогава стойността на този ресурс за предприятието се оказва по-ниска в сравнение с ресурсите, които ограничават производството, и предприятието е готово да плати повече висока ценаза придобиване на ресурси за увеличаване на печалбата.

    Нека въведем ново предназначение за желаната променлива x като някаква „сенчеста“ цена, която определя стойността на даден ресурс по отношение на печалбата от продажбата на произведени продукти.

    C – вектор на наличните ресурси;
    b_ub е векторът на печалбата от производството на единица от всеки вид продукт;
    A_ub_T – транспонирана матрица A_ub.

    Целева функция
    minF(x)=c×x

    Ограничения
    A_ub_T ×x≥ b_ub

    Числени стойности и връзки за променливи:
    c = ; A_ub_T транспониране (A_ub); b_ub = .

    Задача:
    Намерете x, показващ стойността за производителя на всеки тип ресурс.

    Характеристики на решението с библиотеката scipy. оптимизиране
    За да замените ограниченията отгоре с ограниченията отдолу, е необходимо да умножите двете части на ограничението по минус едно – A_ub_T ×x≥ b_ub... За целта запишете началните данни във формата: b_ub = [-25, -35,-25,-40,-30]; A_ub_T =- scipy.transpose(A_ub).

    Изброяване на решението на проблема с двойната оптимизация

    #!/usr/bin/python # -*- кодиране: utf-8 -*- import scipy от scipy.optimize import linprog A_ub = [, , , ] c= b_ub = [-25, -35,-25,- 40,-30] A_ub_T =-scipy.transpose(A_ub) d=linprog(c, A_ub_T, b_ub) за ключ,вал в d.items(): печат(ключ,вал)


    Резултати от решаването на проблема
    гнида 7
    съобщение Оптимизацията е прекратена успешно.
    забавно 5863.63636364
    x [ 2.27272727 1.81818182 6.36363636 0. ]
    отпуснатост [5.45454545 2.27272727 0. 0. 0. ]
    състояние 0
    успех Вярно

    заключения

    Следователно третият вид ресурс има най-голяма стойност за производителя този видресурсите трябва да бъдат закупени първо, след това първият и вторият тип. Четвъртият вид ресурс има нулева стойност за производителя и се купува последен.

    Резултати от сравнение на преки и двойни задачи

    1. Двойният проблем разширява възможностите за продуктово планиране, но с помощта на scipy. optimize се решава с два пъти повече директни итерации.
    2. Променливата slack показва информация за активността на ограниченията под формата на неравенства, които могат да се използват например за анализ на баланси на суровини.
    3. Директният проблем е проблем за максимизиране, а двойният проблем е проблем за минимизиране и обратно.
    4. Коефициентите на целевата функция в директния проблем са ограничения в двойния проблем.
    5. Ограниченията в директната задача стават коефициенти на целевата функция в двойствената.
    6. Знаците на неравенствата в ограниченията са обърнати.
    7. Транспонира се матрицата на системата от равенства.
    Връзки

    Целева функция- реална или целочислена функция на няколко променливи, която подлежи на оптимизация (минимизиране или максимизиране) с цел решаване на някакъв оптимизационен проблем. Терминът се използва в математическото програмиране, изследването на операциите, линейното програмиране, статистическата теория на решенията и други области на математиката, предимно от приложен характер, въпреки че целта на оптимизацията може да бъде и решението на самия математически проблем. В допълнение към целевата функция в задачата за оптимизация могат да бъдат зададени ограничения за променливи под формата на система от равенства или неравенства. Като цяло, аргументите на целевата функция могат да бъдат зададени на произволни множества.

    Примери

    Гладки функции и системи уравнения

    Проблемът за решаване на всяка система от уравнения

    ( F 1 (x 1 , x 2 , … , x M) = 0 F 2 (x 1 , x 2 , … , x M) = 0 … F N (x 1 , x 2 , … , x M) = 0 ( \displaystyle \left\((\begin(matrix)F_(1)(x_(1),x_(2),\ldots ,x_(M))=0\\F_(2)(x_(1),x_ (2),\ldots ,x_(M))=0\\\ldots \\F_(N)(x_(1),x_(2),\ldots ,x_(M))=0\end(matrix) )\точно.)

    може да се формулира като проблем за минимизиране на целевата функция

    S = ∑ j = 1 N F j 2 (x 1 , x 2 , … , x M) (1) (\displaystyle S=\sum _(j=1)^(N)F_(j)^(2)( x_(1),x_(2),\ldots ,x_(M))\qquad (1))

    Ако функциите са гладки, тогава проблемът с минимизирането може да бъде решен с помощта на градиентни методи.

    За всяка гладка целева функция, частните производни по отношение на всички променливи могат да бъдат приравнени на 0 (\displaystyle 0). Оптимумът на целевата функция ще бъде едно от решенията на такава система от уравнения. В случай на функция (1) (\displaystyle (1)), това ще бъде система от уравнения, използваща метода на най-малките квадрати (LSM). Всяко решение оригинална системае решение на системата на най-малките квадрати. Ако първоначалната система е непоследователна, тогава системата на най-малките квадрати, която винаги има решение, ни позволява да получим приблизително решение на оригиналната система. Броят на уравненията в системата на най-малките квадрати съвпада с броя на неизвестните, което понякога улеснява решаването на съвместни начални системи.

    Линейно програмиране

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

    Комбинаторна оптимизация

    Типичен пример за комбинаторна целева функция е целевата функция на задачата на пътуващия търговец. Тази функция е равна на дължината на Хамилтоновия цикъл на графиката. Той е дефиниран върху множеството от пермутации на n − 1 (\displaystyle n-1) върха на графиката и се определя от матрицата на дължините на ръбовете на графа. Точното решение на такива проблеми често се свежда до изброяване на опции.

    Глава 1. Постановка на основната задача на линейното програмиране

    1. Линейно програмиране

    Линейното програмиране е посока математическо програмиране, изучаване на методи за решаване на екстремални проблеми, характеризиращи се с линейна зависимостмежду променливи и линеен тест. Такива проблеми намират широко приложение в различни области на човешката дейност. Систематичното изучаване на проблеми от този тип започва през 1939–1940 г. в произведенията на L.V. Канторович.

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

    Обхватът на проблемите, решавани с помощта на методите на линейното програмиране, е доста широк, като например:

      проблемът за оптималното използване на ресурсите при планирането на производството;

      проблем със сместа (планиране на състава на продукта);

      проблем за намиране на оптималната комбинация различни видовепродукти за съхранение в складове (управление на запасите или);

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

    Линейното програмиране е най-развитият и широко използван раздел на математическото програмиране (в допълнение, това включва: цяло число, динамично, нелинейно, параметрично програмиране). Това се обяснява по следния начин:

      математическите модели на голям брой икономически проблеми са линейни по отношение на изискваните променливи;

      Този тип проблеми в момента са най-изследвани. За него са разработени специални методи, с помощта на които се решават тези проблеми, и съответните компютърни програми;

      много проблеми с линейното програмиране, след като са решени, са намерили широко приложение;

      Някои проблеми, които в първоначалната си постановка не са линейни, след редица допълнителни ограничения и предположения могат да станат линейни или да бъдат сведени до такъв вид, че да могат да бъдат решени с методи на линейно програмиране.

    Икономическият и математически модел на всеки проблем с линейно програмиране включва: целева функция, оптимална стойносткое (максимум или минимум) трябва да се намери; ограничения под формата на система линейни уравненияили неравенства; изискване за неотрицателност на променливите.

    IN общ изгледмоделът е написан по следния начин:

    целева функция

    (1.1) с ограничения

    (1.2) изисквания за неотрицателност

    (1.3) където х й– променливи (неизвестни);

    - коефициенти на задачата за линейно програмиране.

    Проблемът е да се намери оптималната стойност на функция (1.1) при ограничения (1.2) и (1.3).

    Системата от ограничения (1.2) се нарича функционални ограничения на задачата, а ограниченията (1.3) се наричат ​​директни.

    Вектор, който удовлетворява ограниченията (1.2) и (1.3), се нарича допустимо решение (план) на задача на линейно програмиране. Планът, при който функция (1.1) достига своята максимална (минимална) стойност, се нарича оптимален.

    1.2. Симплексен метод за решаване на задачи от линейното програмиране

    Симплексният метод е разработен и използван за първи път за решаване на проблеми през 1947 г. от американския математик Дж. Данциг.

    Задачите на двумерно линейно програмиране се решават графично. За случая N=3 можем да разгледаме триизмерно пространство и целевата функция ще достигне оптималната си стойност в един от върховете на полиедъра.

    Допустимо решение (допустим план) на задача на LP, дадена в стандартна форма, е подредено множество от числа (x1, x2, ..., xn), удовлетворяващо ограниченията; това е точка в n-мерното пространство.

    Множеството от допустими решения образува областта на допустимите решения (ADS) на задачата LP. ODR е изпъкнал многостен (многоъгълник).

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

    Базово решение е решение, в което всички свободни променливи са равни на нула.

    Решението за поддръжка е основно неотрицателно решение. Опорното решение може да бъде неизродено и изродено. Еталонното решение се нарича неизродено, ако броят на неговите ненулеви координати е равен на ранга на системата, в противен случай то е изродено.

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

    Много е трудно тези проблеми да се решат графично, когато броят на променливите е повече от 3. Съществува универсален методрешаване на проблеми с линейно програмиране, наречен симплекс метод.

    Симплексният метод е универсален методрешаване на LP проблеми, което е итеративен процес, който започва с едно решение и в търсене на най-добрата опция се движи по ъгловите точки на областта на възможните решения, докато достигне оптималната стойност.

    Може да се използва за решаване на всеки проблем с линейно програмиране.

    Симплексният метод се основава на идеята последователно подобрениеполученият разтвор.

    Геометричният смисъл на симплексния метод е последователен преход от един връх на ограничителния полиедър към съседния, при което целевата функция взема най-доброто (или според поне, не най-лошата) стойност, докато се намери оптималното решение - върхът, където се постига оптималната стойност на целевата функция (ако проблемът има краен оптимум).

    По този начин, наличието на система от ограничения, намалена до канонична форма(всички функционални ограничения имат формата на равенства), намерете всяко основно решение на тази система, като се грижите само за намирането му възможно най-просто. Ако първото намерено основно решение се окаже осъществимо, то се проверява за оптималност. Ако то не е оптимално, тогава се преминава към друго, задължително допустимо, основно решение. Симплексният метод гарантира, че с това ново решение целевата функция, ако не достигне оптимума, ще се доближи до него (или поне няма да се отдалечи от него). Същото се прави с ново осъществимо основно решение, докато се намери решение, което е оптимално.

    Процесът на прилагане на симплексния метод включва изпълнението на неговите три основни елемента:

      начин за определяне на някои начални приемливи основно решениезадачи;

      правилото за преход към най-доброто (по-точно, не по-лошо) решение;

      критерий за проверка на оптималността на намереното решение.

    Симплексният метод включва няколко етапа и може да бъде формулиран под формата на ясен алгоритъм (ясна инструкция за извършване на последователни операции). Това ви позволява успешно да програмирате и внедрявате на компютър. Задачи с малък бройпроменливите и ограниченията могат да бъдат разрешени симплексен методръчно.

    6.1.Въведение

    Оптимизация. Част 1

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

    6.2.Основи на теорията на оптимизацията

    Терминът „оптимизация“ в литературата се отнася до процес или последователност от операции, които позволяват да се получи прецизно решение. Въпреки че крайната цел на оптимизацията е да се намери най-доброто или „оптималното“ решение, обикновено човек трябва да се примири с подобрение. известни решения, а не чрез довеждането им до съвършенство. Следователно оптимизацията се разбира по-скоро като желание за съвършенство, което може да не бъде постигнато.

    Разглеждайки произволна система, описана с m уравнения с n неизвестни, можем да различим три основни типа задачи. Ако m=n, задачата се нарича алгебрична. Този проблем обикновено има едно решение. Ако m>n, тогава проблемът е свръхопределен и по правило няма решение. И накрая, за m

    Преди да започнем да обсъждаме проблемите на оптимизацията, въвеждаме редица определения.

    Проектни параметри

    Този термин се отнася до независими променливи параметри, които напълно и недвусмислено дефинират решавания проектен проблем. Проектните параметри са неизвестни величини, чиито стойности се изчисляват по време на процеса на оптимизация. Всички основни или производни величини, които служат за количествено описание на системата, могат да служат като параметри на дизайна. Така че това могат да бъдат неизвестни стойности на дължина, маса, време, температура. Броят на проектните параметри характеризира степента на сложност на даден проектен проблем. Обикновено броят на проектните параметри се означава с n, а самите проектни параметри с x със съответните индекси. Така n проектни параметри на този проблем ще бъдат означени с

    X1, x2, x3,...,xn.

    Целева функция

    Това е израз, чиято стойност инженерът се стреми да направи максимална или минимална. Целевата функция ви позволява да сравните количествено две алтернативни решения. От математическа гледна точка целевата функция описва някаква (n+1)-мерна повърхност. Стойността му се определя от проектните параметри

    M=M(x 1, x 2,...,x n).

    Примери за обективни функции, често срещани в инженерната практика, са цена, тегло, здравина, размери, ефективност. Ако има само един проектен параметър, тогава целевата функция може да бъде представена чрез крива в равнината (фиг. 6.1). Ако има два проектни параметъра, тогава целевата функция ще бъде изобразена като повърхност в триизмерно пространство (фиг. 6.2). С три или повече параметри на проектиране, повърхностите, определени от целевата функция, се наричат ​​хиперповърхности и не могат да бъдат изобразени.

    брак по обикновен начин. Топологичните свойства на повърхността на целевата функция играят голяма роля в процеса на оптимизация, тъй като изборът на най-ефективния алгоритъм зависи от тях.

    Целевата функция в някои случаи може да приеме най-неочаквани форми. Например, не винаги е възможно да го изразите в

    Фиг. 1. Едномерна целева функция.

    Фигура 6.2 Двумерна целева функция.

    затворена математическа форма, в други случаи може

    представляват частично гладка функция. Задаването на целева функция понякога може да изисква таблица с технически данни (например таблица за състоянието на водната пара) или може да изисква експеримент. В някои случаи параметрите на дизайна приемат само цели числа. Пример за това е броят на зъбите в зъбното колело или броят на болтовете във фланеца. Понякога проектните параметри имат само две значения – да или не. Качествените параметри, като удовлетворението, изпитвано от купувача, закупил продукта, надеждност, естетика, са трудни за отчитане в процеса на оптимизация, тъй като е почти невъзможно да се характеризират количествено. Въпреки това, без значение как е представена целевата функция, тя трябва да бъде недвусмислена функция на проектните параметри.

    Редица оптимизационни проблеми изискват въвеждането на повече от една целева функция. Понякога едно от тях може да се окаже несъвместимо с другото. Пример за това е проектирането на самолети, където е необходимо едновременно да се осигури максимална здравина, минимално тегло и минимални разходи. В такива случаи дизайнерът трябва да въведе система от приоритети и да присвои определен безразмерен множител на всяка целева функция. В резултат на това се появява „компромисна функция“, която позволява използването на една съставна целева функция по време на процеса на оптимизация.

    Намиране на минимум и максимум

    Някои оптимизационни алгоритми са предназначени да намерят максимума, други - да намерят минимума. Въпреки това, независимо от вида на проблема с екстремума, който се решава, можете да използвате същия алгоритъм, тъй като проблемът с минимизирането може лесно да се превърне в проблем с търсене на максимум чрез обръщане на знака на целевата функция. Тази техника е илюстрирана на фиг. 6.3.

    Дизайн пространство

    Това е името на областта, дефинирана от всички n параметри на дизайна. Дизайнерското пространство не е толкова голямо, колкото може да изглежда, тъй като обикновено е ограничено от няколко

    условия, свързани с физическата същност на проблема. Ограниченията може да са толкова силни, че проблемът да не съществува

    Фиг.6.3. Промяна на знака на целевата функция към обратния

    максималната задача се превръща в минимална задача.

    задоволително решение. Ограниченията се делят на две групи: ограничения - равенство и ограничения - неравенство.

    Ограничения – равенства

    Ограниченията - равенствата - са зависимостите между проектните параметри, които трябва да се вземат предвид при намиране на решение. Те отразяват законите на природата, икономиката, правото, преобладаващите вкусове и достъпност необходими материали. Броят на ограниченията - равенства може да бъде всякакъв. Приличат на

    C 1 (x 1 , x 2 ,...,x n)=0,

    C 2 (x 1, x 2,...,x n)=0,

    ..................

    C j (x 1, x 2,...,x n)=0.

    Ако някоя от тези връзки може да бъде разрешена по отношение на един от параметрите на дизайна, това ни позволява да елиминираме този параметърот процеса на оптимизация. Това намалява броя на размерите на дизайнерското пространство и опростява решението на проблема.

    Ограничения – неравенства

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

    z 1 r 1 (x 1 , x 2 ,...,x n) Z 1

    z 2 r 2 (x 1 , x 2 ,...,x n) Z 2

    .......................

    z k r k (x 1 , x 2 ,...,x n) Z k

    Трябва да се отбележи, че много често, поради ограничения, оптималната стойност на целевата функция се постига не там, където нейната повърхност има нулев градиент. Често Най-доброто решениесъответства на една от границите на зоната за проектиране.

    Локален оптимум

    Това е името на точката в дизайнерското пространство, в която има целевата функция най-висока стойноств сравнение със стойностите му във всички други точки в непосредствена близост.

    Фиг. 6.4. Една произволна целева функция може да има няколко

    локални оптимуми.

    На фиг. Фигура 6.4 показва едномерна целева функция, която има два локални оптимума. Често проектното пространство съдържа много локални оптимуми и трябва да се внимава да не се обърка първият с оптималното решение на проблема.

    Глобален оптимум

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

    Пример 6.1

    Да предположим, че трябва да проектирате правоъгълен контейнер с обем 1 m, предназначен за транспортиране на неопаковано влакно. Препоръчително е колкото е възможно повече да се изразходват за производството на такива контейнери. по-малко материал(ако приемем, че дебелината на стената е постоянна, това означава, че повърхността трябва да е минимална), тъй като ще бъде по-евтино. За да може контейнерът да бъде удобно взет от мотокар, ширината му трябва да бъде най-малко 1,5 m.

    Нека формулираме този проблем във форма, удобна за прилагане на алгоритъма за оптимизация.

    Параметри на дизайна: x 1, x 2, x 3.

    Целевата функция (която трябва да бъде сведена до минимум) е площта на страничната повърхност на контейнера:

    A=2(x 1 x 2 +x 2 x 3 +x 1 x 3), m2.

    Ограничение - равенство:

    Обем = x 1 x 2 x 3 = 1m3.

    Ограничение - неравенство:

    Проблеми с линейно програмиране

    Линейно програмиране (LP)е един от клоновете на математическото програмиране - дисциплина, която изучава екстремални (оптимизационни) проблеми и разработва методи за тяхното решаване.

    Проблем с оптимизациятае математически проблем, който се състои в намиране на оптималната (т.е. максимална или минимална) стойност на целевата функция, като стойностите на променливите трябва да принадлежат към определена област приемливи стойности(ODZ).

    Най-общо, формулирането на екстремален проблем на математическото програмиране се състои в определяне на най-голямата или най-малката стойност на функция, наречена целева функция, при условия (ограничения) , където и – определени функции, a са дадени постоянни стойности. В този случай ограниченията под формата на равенства и неравенства определят множеството (областта) на допустимите решения (ADS) и се наричат проектни параметри.

    В зависимост от вида на функциите задачите на математическото програмиране се разделят на няколко класа (линейни, нелинейни, изпъкнали, цели, стохастични, динамично програмиранеи т.н.).

    IN общ изгледпроблемът с LP има следната форма:

    , (5.1)

    , , (5.2)

    , , (5.3)

    където , , са дадени постоянни стойности.

    Функция (5.1) се нарича целева функция; системи (5.2), (5.3) – система от ограничения; условие (5.4) – условието за неотрицателност на проектните параметри.

    Наборът от проектни параметри, удовлетворяващи ограниченията (5.2), (5.3) и (5.4), се нарича приемливо решениеили план.

    Оптималното решениеили оптимален план Проблемът с LP се нарича осъществимо решение, при което целевата функция (5.1) приема оптимална (максимална или минимална) стойност.

    Стандартна задача LP е задачата за намиране на максималната (минималната) стойност на целевата функция (5.1) при условие (5.2) и (5.4), където , , т.е. тези. ограничения само под формата на неравенства (5.2) и всички параметри на дизайна отговарят на условието за неотрицателност и няма условия под формата на равенства:

    ,

    , , (5.5)

    .

    Канонична (главна) задача LP е задачата за намиране на максималната (минималната) стойност на целевата функция (5.1) при условие (5.3) и (5.4), където , , т.е. тези. ограничения само под формата на равенства (5.3) и всички параметри на дизайна отговарят на условието за неотрицателност и няма условия под формата на неравенства:

    ,

    .

    Каноничният LP проблем може също да бъде написан в матрична и векторна форма.

    Матричната форма на каноничния LP проблем има следния вид:

    Векторна форма на каноничната задача LP.