Օպտիմալացման խնդիրներ. հայեցակարգ, լուծման մեթոդներ և դասակարգում

Բովանդակություն:

Օպտիմալացման խնդիրներ. հայեցակարգ, լուծման մեթոդներ և դասակարգում
Օպտիմալացման խնդիրներ. հայեցակարգ, լուծման մեթոդներ և դասակարգում
Anonim

Օպտիմալացումն օգնում է ձեզ գտնել լավագույն արդյունքը, որը բերում է շահույթ, նվազեցնում ծախսերը կամ սահմանում է այնպիսի պարամետր, որն առաջացնում է բիզնես գործընթացների ձախողումներ:

Այս գործընթացը կոչվում է նաև մաթեմատիկական ծրագրավորում։ Այն լուծում է սահմանափակ ռեսուրսների բաշխման որոշման խնդիրը, որն անհրաժեշտ է օպտիմալացման խնդրի ղեկավարի կողմից սահմանված նպատակին հասնելու համար: Բոլոր հնարավոր տարբերակներից ցանկալի է գտնել մեկը, որը առավելագույնի է հասցնում (կամ նվազեցնում) վերահսկիչ պարամետրը, օրինակ՝ շահույթը կամ արժեքը։ Օպտիմալացման մոդելները կոչվում են նաև հանձնարարական կամ նորմատիվ, քանի որ նրանք ձգտում են գտնել իրագործելի ռազմավարություն բիզնեսի համար:

Զարգացման պատմություն

Գծային ծրագրավորումը (LP) աշխատում է օպտիմալացման խնդիրների դասի հետ, որտեղ բոլոր սահմանափակումները գծային են:

Օպտիմալացման խնդիրների լուծման մեթոդներ
Օպտիմալացման խնդիրների լուծման մեթոդներ

Ներկայացնելով LP-ի զարգացման համառոտ պատմությունը:

  • 1762 թվականին Լագրանժը լուծեց օպտիմալացման պարզ խնդիրներ՝ հավասարության սահմանափակումներով:
  • 1820 թվականին Գաուսը որոշեցվերացման օգտագործմամբ հավասարումների գծային համակարգ։
  • 1866 թվականին Վիլհելմ Ջորդանը կատարելագործեց նվազագույն քառակուսիների սխալները գտնելու մեթոդը՝ որպես համապատասխան չափանիշ: Սա այժմ կոչվում է Գաուս-Հորդանանի մեթոդ:
  • Թվային համակարգիչը հայտնվել է 1945 թվականին:
  • Danzig-ը 1947 թվականին հորինել է սիմպլեքսի մեթոդները։
  • 1968 թվականին Ֆիակոն և ՄակՔորմիկը ներկայացրեցին Inside Point մեթոդը:
  • 1984 թվականին Կարմարկարը կիրառեց ներքին մեթոդը գծային ծրագրերը լուծելու համար՝ ավելացնելով իր նորարարական վերլուծությունը:

LP-ն ապացուցել է, որ չափազանց հզոր գործիք է ինչպես իրական աշխարհի խնդիրների մոդելավորման, այնպես էլ որպես լայնորեն կիրառվող մաթեմատիկական տեսություն: Այնուամենայնիվ, շատ հետաքրքիր օպտիմալացման խնդիրներ ոչ գծային են:

Ի՞նչ անել այս դեպքում. Նման խնդիրների ուսումնասիրությունը ներառում է գծային հանրահաշվի, բազմաչափ հաշվարկի, թվային վերլուծության և հաշվողական մեթոդների բազմազան խառնուրդ: Գիտնականները մշակում են հաշվողական ալգորիթմներ, ներառյալ գծային ծրագրավորման ներքին կետերի մեթոդները, երկրաչափությունը, ուռուցիկ բազմությունների և ֆունկցիաների վերլուծությունը և հատուկ կառուցվածքային խնդիրների ուսումնասիրությունը, ինչպիսին է քառակուսի ծրագրավորումը::

Ոչ գծային օպտիմալացումը ապահովում է մաթեմատիկական վերլուծության հիմնարար ըմբռնում և լայնորեն օգտագործվում է տարբեր ոլորտներում, ինչպիսիք են ճարտարագիտությունը, ռեգրեսիոն վերլուծությունը, ռեսուրսների կառավարումը, երկրաֆիզիկական հետախուզությունը և տնտեսագիտությունը:

Օպտիմալացման խնդիրների դասակարգում

Գծային ծրագրավորման օպտիմալացման խնդիրներ
Գծային ծրագրավորման օպտիմալացման խնդիրներ

Կարևոր քայլՕպտիմալացման գործընթացը մոդելների դասակարգումն է, քանի որ դրանց լուծման ալգորիթմները հարմարեցված են որոշակի տեսակի:

1. Դիսկրետ և շարունակական օպտիմալացման հետ կապված խնդիրներ: Որոշ մոդելներ իմաստ ունեն միայն այն դեպքում, եթե փոփոխականները արժեքներ են վերցնում ամբողջ թվերի դիսկրետ ենթաբազմությունից: Մյուսները պարունակում են տվյալներ, որոնք կարող են վերցնել ցանկացած իրական արժեք: Դրանք սովորաբար ավելի հեշտ է լուծել: Ալգորիթմների բարելավումները, զուգորդված համակարգչային տեխնոլոգիաների առաջընթացի հետ, կտրուկ մեծացրել են գծային ծրագրավորման օպտիմալացման խնդրի չափն ու բարդությունը:

2. Անսահմանափակ և սահմանափակ օպտիմալացում: Մեկ այլ կարևոր տարբերություն այն առաջադրանքներն են, որտեղ փոփոխականների վրա որևէ սահմանափակում չկա: Այն կարող է լայնորեն տատանվել՝ պարզ գնահատողներից մինչև հավասարումների և անհավասարությունների համակարգեր, որոնք մոդելավորում են տվյալների միջև բարդ հարաբերությունները: Նման օպտիմիզացման խնդիրները կարող են հետագայում դասակարգվել ըստ ֆունկցիաների բնույթի (գծային և ոչ գծային, ուռուցիկ և հարթ, տարբերվող և ոչ տարբերվող):

3. Իրագործելիության առաջադրանքներ. Նրանց նպատակն է գտնել փոփոխական արժեքներ, որոնք բավարարում են մոդելի սահմանափակումները՝ առանց օպտիմալացման հատուկ նպատակի:

4. Կոմպլեմենտար առաջադրանքներ. Դրանք լայնորեն կիրառվում են տեխնիկայի և տնտեսագիտության մեջ։ Նպատակը փոխլրացման պայմաններին բավարարող լուծում գտնելն է։ Գործնականում մի քանի նպատակներով առաջադրանքները հաճախ վերակազմակերպվում են մեկ նպատակի:

5. Դետերմինիստական ընդդեմ ստոխաստիկ օպտիմալացման: Դետերմինիստական օպտիմալացումը ենթադրում է, որ տվյալներըառաջադրանքները լիովին ճշգրիտ են. Այնուամենայնիվ, շատ արդիական հարցերի վերաբերյալ դրանք չեն կարող հայտնի լինել մի շարք պատճառներով:

Առաջինը կապված է պարզ չափման սխալի հետ: Երկրորդ պատճառն ավելի հիմնարար է. Այն կայանում է նրանում, որ որոշ տվյալներ ներկայացնում են տեղեկատվություն ապագայի մասին, օրինակ՝ ապրանքի պահանջարկը կամ գները ապագա ժամանակահատվածի համար: Ստոխաստիկ օպտիմալացման պայմաններում օպտիմալացնելիս մոդելում ներառված է անորոշությունը:

Հիմնական բաղադրիչներ

Օպտիմալացման խնդիրների տեսակները
Օպտիմալացման խնդիրների տեսակները

Օբյեկտիվ ֆունկցիան այն է, որը պետք է նվազագույնի հասցնել կամ առավելագույնի հասցնել: Օպտիմալացման խնդիրների շատ տեսակներ ունեն մեկ նպատակային ֆունկցիա. Եթե ոչ, ապա դրանք հաճախ կարող են վերաձեւակերպվել, որպեսզի աշխատեն:

Այս կանոնից երկու բացառություն.

1. Թիրախային որոնման առաջադրանք. Բիզնես ծրագրերի մեծ մասում մենեջերը ցանկանում է հասնել որոշակի նպատակի՝ բավարարելով մոդելի սահմանափակումները: Օգտագործողը առանձնապես չի ցանկանում ինչ-որ բան օպտիմալացնել, ուստի անիմաստ է սահմանել օբյեկտիվ գործառույթ: Այս տեսակը սովորաբար կոչվում է բավարարվածության խնդիր:

2. Շատ օբյեկտիվ հատկանիշներ: Հաճախ օգտատերը ցանկանում է օպտիմիզացնել միանգամից մի քանի տարբեր նպատակներ: Նրանք սովորաբար անհամատեղելի են: Փոփոխականները, որոնք օպտիմալացնում են մեկ նպատակի համար, կարող են լավագույնը չլինել մյուսների համար:

Բաղադրիչների տեսակները՝

  • Վերահսկվող մուտքը որոշման փոփոխականների մի շարք է, որոնք ազդում են օբյեկտիվ ֆունկցիայի արժեքի վրա: Արտադրական առաջադրանքում փոփոխականները կարող են ներառել տարբեր հասանելի ռեսուրսների բաշխումը կամ դրա համար պահանջվող աշխատուժըյուրաքանչյուր գործողություն։
  • Սահմանափակումները հարաբերություններ են որոշման փոփոխականների և պարամետրերի միջև: Արտադրության խնդրի դեպքում իմաստ չունի շատ ժամանակ ծախսել որևէ գործունեության վրա, ուստի սահմանափակեք բոլոր «ժամանակավոր» փոփոխականները։
  • Հնարավոր և օպտիմալ լուծումներ. Փոփոխականների որոշման արժեքը, որոնց համաձայն բոլոր սահմանափակումները բավարարված են, կոչվում է բավարար: Ալգորիթմների մեծ մասը սկզբում գտնում է այն, հետո փորձում է բարելավել այն: Ի վերջո, նրանք փոխում են փոփոխականները՝ մի իրագործելի լուծումից մյուսը անցնելու համար: Այս գործընթացը կրկնվում է այնքան ժամանակ, մինչև օբյեկտիվ ֆունկցիան հասնի իր առավելագույնին կամ նվազագույնին: Այս արդյունքը կոչվում է օպտիմալ լուծում:

Օպտիմիզացման խնդիրների ալգորիթմները, որոնք մշակվել են հետևյալ մաթեմատիկական ծրագրերի համար, լայնորեն կիրառվում են.

  • ուռուցիկ.
  • բաժանելի.
  • քառորդական.
  • Երկրաչափական.

Google Linear Solvers

Օպտիմալացման խնդրի մաթեմատիկական մոդելը
Օպտիմալացման խնդրի մաթեմատիկական մոդելը

Գծային օպտիմիզացում կամ ծրագրավորում այսպես է կոչվում խնդրի օպտիմալ լուծման հաշվողական գործընթացին։ Այն մոդելավորվում է որպես գծային հարաբերությունների մի շարք, որոնք առաջանում են բազմաթիվ գիտական և ճարտարագիտական առարկաներից:

Google-ն առաջարկում է գծային օպտիմալացման խնդիրները լուծելու երեք եղանակ՝

  • Glop բաց կոդով գրադարան։
  • Գծային օպտիմիզացման հավելում Google Sheets-ի համար:
  • Գծային օպտիմիզացման ծառայություն Google Apps Script-ում։

Glop-ը ներկառուցված է Google-ումգծային լուծիչ. Այն հասանելի է բաց կոդով: Դուք կարող եք մուտք գործել Glop OR-Tools գծային լուծիչի փաթաթման միջոցով, որը հանդիսանում է Glop-ի փաթաթան:

Գծային օպտիմիզացման մոդուլը Google Sheets-ի համար թույլ է տալիս կատարել օպտիմալացման խնդրի գծային հայտարարություն՝ տվյալներ մուտքագրելով աղյուսակ:

Քառակուսի ծրագրավորում

Premium Solver հարթակն օգտագործում է Simplex մեթոդի ընդլայնված LP/Quadratic տարբերակը՝ LP և QP խնդիրների մշակման սահմանաչափերով մինչև 2000 որոշման փոփոխականներ:

SQP Լուծիչը լայնածավալ խնդիրների համար օգտագործում է ակտիվ հավաքածուի մեթոդի ժամանակակից ներդրումը նոսրությամբ՝ քառակուսի ծրագրավորման (QP) խնդիրներ լուծելու համար: XPRESS Solver շարժիչը օգտագործում է «Interior Point» կամ Newton Barrier մեթոդի բնական ընդլայնումը QP խնդիրները լուծելու համար:

MOSEK Լուծիչը կիրառում է ներկառուցված «Inside Point» և ավտոմատ կրկնակի մեթոդներ: Սա հատկապես արդյունավետ է թույլ զուգակցված QP խնդիրների դեպքում: Այն կարող է նաև լուծել Scale Quadratic Constraint (QCP) և Երկրորդ կարգի Կոն Ծրագրավորման (SOCP) խնդիրները:

Բազմաֆունկցիոնալ հաշվարկներ

Դրանք բավականին հաջողությամբ օգտագործվում են Microsoft Office-ի հնարավորությունների կիրառմամբ, օրինակ՝ Excel-ում օպտիմալացման խնդիրների լուծում:

Օպտիմիզացման խնդիրների ալգորիթմներ
Օպտիմիզացման խնդիրների ալգորիթմներ

Վերոնշյալ աղյուսակում խորհրդանիշներն են՝

  • K1 - K6 - հաճախորդներ, ովքեր պետք է ապրանքներ տրամադրեն:
  • S1 - S6-ը պոտենցիալ արտադրական տեղամասեր են, որոնք կարող են կառուցվել դրա համար: Կարող է ստեղծվել1, 2, 3, 4, 5 կամ բոլոր 6 վայրերը։

Կան հաստատուն ծախսեր յուրաքանչյուր հաստատության համար, որը թվարկված է I սյունակում (Fix):

Եթե գտնվելու վայրը ոչինչ չփոխի, այն չի հաշվվի: Այդ դեպքում ֆիքսված ծախսեր չեն լինի։

Նշեք պոտենցիալ վայրերը՝ նվազագույն ծախսերը ստանալու համար:

Օպտիմալացման խնդիրների լուծում
Օպտիմալացման խնդիրների լուծում

Այս պայմաններում գտնվելու վայրը կա՛մ հաստատված է, կա՛մ ոչ: Այս երկու վիճակներն են՝ «ՃԻՇՏ - ՍՈՒՏ» կամ «1 - 0»: Վեց տեղակայման համար կա վեց վիճակ, օրինակ՝ 000001-ը դրված է միայն վեցերորդին, 111111-ը՝ բոլորին:

Երկուական թվային համակարգում կա ուղիղ 63 տարբեր տարբերակ 000001 (1)-ից մինչև 111111 (63):

L2-L64-ն այժմ պետք է կարդա {=ԲԱԶՄԱԿԱՆ ՕՊԵՐԱՑԻԱ (K1)}, սրանք բոլոր այլընտրանքային լուծումների արդյունքներն են: Այնուհետև նվազագույն արժեքը=Min (L) է, իսկ համապատասխան այլընտրանքը INDEX (K):

CPLEX Ամբողջական ծրագրավորում

Երբեմն գծային հարաբերությունները բավարար չեն բիզնես խնդրի էության մեջ մտնելու համար: Սա հատկապես ճիշտ է, երբ որոշումները ներառում են դիսկրետ ընտրություններ, օրինակ՝ բացել պահեստ որոշակի վայրում, թե ոչ: Այս իրավիճակներում պետք է օգտագործվի ամբողջ թվով ծրագրավորում։

Եթե խնդիրը ներառում է ինչպես դիսկրետ, այնպես էլ շարունակական ընտրություններ, ապա դա խառը ամբողջական ծրագիր է: Այն կարող է ունենալ գծային, ուռուցիկ քառակուսի խնդիրներ և նույն երկրորդ կարգի սահմանափակումներ։

Ամբողջ թվային ծրագրերը շատ ավելի բարդ են, քան գծային ծրագրերը, բայց նրանք ունեն կարևոր բիզնես ծրագրեր: Ծրագրային ապահովումCPLEX ծրագրաշարը օգտագործում է բարդ մաթեմատիկական մեթոդներ՝ ամբողջ թվով խնդիրներ լուծելու համար: Նրա մեթոդները ներառում են դիսկրետ փոփոխականների հնարավոր համակցությունների համակարգված որոնում՝ օգտագործելով գծային կամ քառակուսի ծրագրային հանգստացումներ՝ օպտիմալ լուծման արժեքի սահմանները հաշվարկելու համար:

Նրանք նաև օգտագործում են LP և այլ օպտիմալացման խնդիրների լուծման մեթոդներ՝ սահմանափակումները հաշվելու համար:

Ստանդարտ Microsoft Excel Լուծիչ

Այս տեխնոլոգիան օգտագործում է հիմնական Simplex մեթոդի հիմնական ներդրումը LP-ի խնդիրները լուծելու համար: Այն սահմանափակվում է 200 փոփոխականով: «Premium Solver»-ը օգտագործում է առաջնային սիմպլեքսի բարելավված մեթոդ՝ փոփոխականների համար երկկողմանի սահմաններով: Premium Solver հարթակը օգտագործում է LP/Quadratic Simplex Solver-ի ընդլայնված տարբերակը՝ օպտիմալացման խնդիր լուծելու համար մինչև 2000 որոշման փոփոխականներով:

Լայնածավալ LP-ն Premium Solver պլատֆորմի համար կիրառում է պարզ և կրկնակի սիմպլեքս մեթոդի ժամանակակից ներդրում, որն օգտագործում է LP մոդելի սակավությունը՝ խնայելու ժամանակ և հիշողություն, թարմացման առաջադեմ ռազմավարություններ և refactoring matrices, բազմակի և մասնակի գնագոյացումներ և ռոտացիաներ և դեգեներացիա հաղթահարելու համար: Այս շարժիչը հասանելի է երեք տարբերակով (կարող է կառավարել մինչև 8000, 32000 կամ անսահմանափակ փոփոխականներ և սահմանափակումներ):

MOSEK Լուծիչը ներառում է առաջնային և երկակի սիմպլեքս, մեթոդ, որը նաև օգտագործում է սակավությունը և օգտագործում է առաջադեմ ռազմավարություններ մատրիցների թարմացման և «վերագործարկման» համար: Այն լուծում է անսահմանափակ չափի խնդիրներ, եղել էփորձարկվել է գծային ծրագրավորման խնդիրների վրա՝ միլիոնավոր որոշման փոփոխականներով:

Քայլ առ քայլ օրինակ EXCEL-ում

Գծային օպտիմալացման խնդիրներ
Գծային օպտիմալացման խնդիրներ

Excel-ում օպտիմալացման խնդրի մոդելը սահմանելու համար կատարեք հետևյալ քայլերը՝

  • Խնդիրի տվյալները կազմակերպեք աղյուսակում տրամաբանական ձևով:
  • Ընտրեք բջիջ յուրաքանչյուր փոփոխական պահելու համար:
  • Բջջում ստեղծեք օպտիմիզացման խնդրի թիրախային մաթեմատիկական մոդելը հաշվարկելու բանաձև։
  • Ստեղծեք բանաձևեր յուրաքանչյուր սահմանափակումի ձախ կողմը հաշվարկելու համար:
  • Օգտագործեք երկխոսություններ Excel-ում՝ Solver-ին պատմելու որոշման փոփոխականների, թիրախների, սահմանափակումների և այդ պարամետրերի ցանկալի սահմանների մասին:
  • Գործարկեք «Solver»-ը՝ օպտիմալ լուծումը գտնելու համար:
  • Ստեղծեք Excel թերթ:
  • Կազմակերպեք խնդրի տվյալները Excel-ում, որտեղ հաշվարկված է նպատակային ֆունկցիայի և սահմանափակման բանաձևը:

Վերոհիշյալ աղյուսակում B4, C4, D4 և E4 բջիջները վերապահված են X 1, X 2, X 3 և X 4 որոշման փոփոխականները ներկայացնելու համար: Որոշման օրինակներ՝

  • Ապրանքների խառնուրդի մոդելը ($450, $1150, $800 և $400 շահույթ մեկ ապրանքի համար) մուտքագրվել է համապատասխանաբար B5, C5, D5 և E5 բջիջներում: Սա թույլ է տալիս թիրախը հաշվարկել F5=B5B4 + C5C4 + D5D4 + E5E4 կամ F5:=SUMPRODUCT (B5: E5, B4: E4):
  • B8-ում մուտքագրեք յուրաքանչյուր տեսակի արտադրանքի արտադրության համար անհրաժեշտ ռեսուրսների քանակը:
  • Բանաձև F8:=SUMPRODUCT(B8:E8, $B$4:$E$4).
  • Պատճենել սաբանաձևը F9-ում. $B$4:$E$4 դոլարի նշանները ցույց են տալիս, որ այս բջիջների միջակայքը մնում է հաստատուն:
  • G8-ում մուտքագրեք յուրաքանչյուր տեսակի ռեսուրսների առկա քանակությունը, որը համապատասխանում է աջ կողմում գտնվող սահմանափակումների արժեքներին: Սա թույլ է տալիս դրանք արտահայտել այսպես. F11<=G8: G11:
  • Սա համարժեք է չորս սահմանների F8<=G8, F9 <=G9, F10 <=G10 և F11=0

Մեթոդի գործնական կիրառման ոլորտները

Գծային օպտիմիզացիան ունի բազմաթիվ գործնական կիրառություններ՝ որպես օպտիմալացման խնդրի օրինակ:

Ընկերությունը կարող է արտադրել մի քանի ապրանքներ՝ հայտնի ներդրման մարժայով: Յուրաքանչյուր ապրանքի միավորի արտադրությունը պահանջում է հայտնի քանակությամբ սահմանափակ ռեսուրսներ: Խնդիրն է՝ ստեղծել արտադրական ծրագիր՝ որոշելու համար, թե յուրաքանչյուր ապրանքից որքան պետք է արտադրվի, որպեսզի ընկերության շահույթը առավելագույնի հասցվի՝ առանց ռեսուրսների սահմանափակումների խախտման։

Խառնուրդի խնդիրները օպտիմալացման խնդիրների լուծումն է, որը կապված է վերջնական արտադրանքի մեջ բաղադրիչները համատեղելու հետ: Դրա օրինակն է 1947 թվականին Ջորջ Դանցիգը ուսումնասիրած սննդակարգի խնդիրը։ Տրվում են մի շարք հումք՝ վարսակ, խոզի միս և արևածաղկի ձեթ, սննդային պարունակությամբ՝ սպիտակուցներ, ճարպեր, վիտամին A և դրանց մեկ կիլոգրամի գինը։ Խնդիրը հումքից մեկ կամ մի քանի վերջնական արտադրանքի խառնուրդն է հնարավորինս ցածր գնով` պահպանելով դրանց սննդային արժեքի նվազագույն և առավելագույն սահմանները:

Գծային օպտիմալացման խնդրի դասական կիրառումը կարիքների համար երթուղի որոշելն էերթևեկությունը հեռահաղորդակցության կամ տրանսպորտային ցանցերում. Միևնույն ժամանակ, հոսքերը պետք է ուղղորդվեն ցանցով այնպես, որ երթևեկության բոլոր պահանջները բավարարվեն առանց թողունակության պայմանների խախտման:

Մաթեմատիկական տեսության մեջ գծային օպտիմալացումը կարող է օգտագործվել երկու հոգու համար զրոյական գումարով խաղերում օպտիմալ ռազմավարությունները հաշվարկելու համար: Այս դեպքում յուրաքանչյուր մասնակցի համար հաշվարկվում է հավանականության բաշխումը, որը նրա ռազմավարությունների պատահական խառնման գործակիցն է։

Աշխարհում ոչ մի հաջող բիզնես գործընթաց հնարավոր չէ առանց օպտիմալացման: Կան բազմաթիվ օպտիմիզացման ալգորիթմներ: Որոշ մեթոդներ հարմար են միայն որոշակի տեսակի խնդիրների համար: Կարևոր է, որ կարողանանք ճանաչել դրանց բնութագրերը և ընտրել լուծման համապատասխան մեթոդը։

Խորհուրդ ենք տալիս: