Optimallaşdırma sizə mənfəət gətirən, xərcləri azaldan və ya biznes prosesinin uğursuzluğuna səbəb olan parametr təyin edən ən yaxşı nəticəni tapmağa kömək edir.
Bu proses həm də riyazi proqramlaşdırma adlanır. Optimallaşdırma probleminin rəhbəri tərəfindən qoyulan məqsədə nail olmaq üçün zəruri olan məhdud resursların paylanmasının müəyyən edilməsi problemini həll edir. Bütün mümkün variantlardan, məsələn, mənfəət və ya xərc kimi, nəzarət parametrini maksimuma çatdıran (və ya azaldan) birini tapmaq arzu edilir. Optimallaşdırma modelləri həm də göstərişli və ya normativ adlanır, çünki onlar biznes üçün mümkün strategiya tapmağa çalışırlar.
İnkişaf tarixçəsi
Xətti proqramlaşdırma (LP) bütün məhdudiyyətlərin xətti olduğu optimallaşdırma problemləri sinfi ilə işləyir.
LP-nin inkişafının qısa tarixini təqdim edirik:
- 1762-ci ildə Laqranj bərabərlik məhdudiyyətləri ilə sadə optimallaşdırma məsələlərini həll etdi.
- 1820-ci ildə Qauss qərar verdiaradan qaldırılması ilə xətti tənliklər sistemi.
- 1866-cı ildə Wilhelm Jordan uyğun meyar kimi ən kiçik kvadratların səhvlərini tapmaq metodunu təkmilləşdirdi. Bu indi Gauss-Jordan metodu adlanır.
- Rəqəmsal kompüter 1945-ci ildə ortaya çıxdı.
- Danzig simpleks üsullarını 1947-ci ildə icad etdi.
- 1968-ci ildə Fiacco və McCormick Inside Point metodunu təqdim etdilər.
- 1984-cü ildə Karmarkar xətti proqramları həll etmək üçün daxili metodu tətbiq edərək, yenilikçi təhlilini əlavə etdi.
LP həm real dünya problemlərinin modelləşdirilməsi, həm də geniş tətbiq olunan riyazi nəzəriyyə kimi son dərəcə güclü bir vasitə olduğunu sübut etdi. Bununla belə, bir çox maraqlı optimallaşdırma problemləri qeyri-xəttidir.
Bu halda nə etməli? Bu cür problemlərin öyrənilməsi xətti cəbr, çoxdəyişənli hesablama, ədədi analiz və hesablama metodlarının müxtəlif qarışığını əhatə edir. Alimlər hesablama alqoritmləri, o cümlədən xətti proqramlaşdırma, həndəsə, qabarıq çoxluqların və funksiyaların təhlili və kvadratik proqramlaşdırma kimi xüsusi strukturlaşdırılmış problemlərin tədqiqi üçün daxili nöqtə üsulları inkişaf etdirirlər.
Qeyri-xətti optimallaşdırma riyazi analizin fundamental anlayışını təmin edir və mühəndislik, reqressiya təhlili, resursların idarə edilməsi, geofiziki kəşfiyyat və iqtisadiyyat kimi müxtəlif sahələrdə geniş istifadə olunur.
Optimallaşdırma problemlərinin təsnifatı
Əhəmiyyətli bir addımOptimallaşdırma prosesi modellərin təsnifatıdır, çünki onların həlli alqoritmləri müəyyən bir növə uyğunlaşdırılıb.
1. Diskret və davamlı optimallaşdırma ilə bağlı problemlər. Bəzi modellər yalnız dəyişənlər tam ədədlərin diskret alt çoxluğundan dəyərlər aldıqda məna kəsb edir. Digərləri hər hansı real dəyəri ala bilən məlumatları ehtiva edir. Adətən onları həll etmək daha asandır. Alqoritmlərdəki təkmilləşdirmələr kompüter texnologiyasındakı irəliləyişlərlə birlikdə xətti proqramlaşdırma optimallaşdırma probleminin ölçüsünü və mürəkkəbliyini kəskin şəkildə artırdı.
2. Limitsiz və məhdud optimallaşdırma. Digər mühüm fərq, dəyişənlərə heç bir məhdudiyyətin olmadığı vəzifələrdir. O, sadə qiymətləndiricilərdən tutmuş verilənlər arasında mürəkkəb münasibətləri modelləşdirən bərabərlik və bərabərsizlik sistemlərinə qədər geniş çeşiddə ola bilər. Bu cür optimallaşdırma məsələləri funksiyaların xarakterinə görə əlavə olaraq təsnif edilə bilər (xətti və qeyri-xətti, qabarıq və hamar, diferensiallanan və qeyri-diferensiallaşdırılan).
3. Fizibilite tapşırıqları. Onların məqsədi heç bir xüsusi optimallaşdırma məqsədi olmadan model məhdudiyyətlərini təmin edən dəyişən dəyərlər tapmaqdır.
4. Tamamlayıcı tapşırıqlar. Onlar texnologiya və iqtisadiyyatda geniş istifadə olunur. Məqsəd bir-birini tamamlayan şərtləri təmin edən həll yolu tapmaqdır. Təcrübədə bir neçə məqsədi olan tapşırıqlar çox vaxt vahid məqsədli tapşırıqlara çevrilir.
5. Determinist və stoxastik optimallaşdırma. Deterministik optimallaşdırma üçün məlumatların olduğunu güman edirtapşırıqlar tam dəqiqdir. Bununla belə, bir çox aktual məsələlərdə onlar bir sıra səbəblərə görə məlum ola bilməz.
Birincisi sadə ölçmə xətası ilə əlaqədardır. İkinci səbəb daha əsaslıdır. Bu, bəzi məlumatların gələcək haqqında məlumatları, məsələn, bir məhsula olan tələbi və ya gələcək bir müddət üçün qiyməti əks etdirməsindən ibarətdir. Stokastik optimallaşdırma şəraitində optimallaşdırma zamanı qeyri-müəyyənlik modelə daxil edilir.
Əsas Komponentlər
Məqsəd funksiyası minimuma endirilməli və ya maksimuma çatdırılmalı olan funksiyadır. Optimallaşdırma problemlərinin əksər növləri bir məqsəd funksiyasına malikdir. Əks halda, onlar tez-tez işləmək üçün yenidən formalaşdırıla bilər.
Bu qayda üçün iki istisna:
1. Hədəf axtarış tapşırığı. Əksər biznes tətbiqlərində menecer model məhdudiyyətlərini təmin etməklə müəyyən məqsədə nail olmaq istəyir. İstifadəçi xüsusilə nəyisə optimallaşdırmaq istəmir, ona görə də obyektiv funksiyanı təyin etməyin mənası yoxdur. Bu tip adətən məmnunluq problemi adlanır.
2. Çoxlu obyektiv xüsusiyyətlər. Çox vaxt istifadəçi eyni anda bir neçə fərqli hədəfi optimallaşdırmaq istəyir. Onlar adətən uyğun gəlmir. Bir məqsəd üçün optimallaşdıran dəyişənlər digərləri üçün ən yaxşısı olmaya bilər.
Kompent növləri:
- Nəzarət edilən giriş məqsəd funksiyasının dəyərinə təsir edən qərar dəyişənləri toplusudur. İstehsal tapşırığında dəyişənlərə müxtəlif mövcud resursların və ya tələb olunan əməyin paylanması daxil ola bilərhər bir əməliyyat.
- Məhdudlar qərar dəyişənləri və parametrlər arasındakı əlaqələrdir. İstehsal problemi üçün hər hansı fəaliyyətə çox vaxt sərf etməyin mənası yoxdur, ona görə də bütün "müvəqqəti" dəyişənləri məhdudlaşdırın.
- Mümkün və optimal həllər. Bütün məhdudiyyətlərin ödənildiyi dəyişənlər üçün qərarın dəyəri təmin edilə bilən adlanır. Əksər alqoritmlər əvvəlcə onu tapır, sonra təkmilləşdirməyə çalışırlar. Nəhayət, bir mümkün həlldən digərinə keçmək üçün dəyişənləri dəyişirlər. Məqsəd funksiyası maksimum və ya minimuma çatana qədər bu proses təkrarlanır. Bu nəticə optimal həll adlanır.
Aşağıdakı riyazi proqramlar üçün hazırlanmış optimallaşdırma məsələlərinin alqoritmləri geniş istifadə olunur:
- Qabıq.
- Ayrılabilir.
- Kvadrat.
- Həndəsi.
Google Xətti Həlledicilər
Xətti optimallaşdırma və ya proqramlaşdırma problemin optimal həlli üçün hesablama prosesinə verilən addır. O, bir çox elmi və mühəndislik fənlərində yaranan xətti əlaqələr toplusu kimi modelləşdirilmişdir.
Google xətti optimallaşdırma problemlərini həll etmək üçün üç yol təklif edir:
- Glop açıq mənbə kitabxanası.
- Google Cədvəl üçün Xətti Optimallaşdırma əlavəsi.
- Google Tətbiq Skriptində Xətti Optimallaşdırma Xidməti.
Glop Google-da qurulubxətti həlledici. Açıq mənbədə mövcuddur. Siz Glop-a Glop üçün sarğı olan OR-Tools xətti həlledici paketi vasitəsilə daxil ola bilərsiniz.
Google Cədvəl üçün xətti optimallaşdırma modulu sizə məlumatları cədvələ daxil etməklə optimallaşdırma probleminin xətti ifadəsini yerinə yetirməyə imkan verir.
Kvadrat proqramlaşdırma
Premium Solver platforması 2000-ə qədər qərar dəyişəninə qədər LP və QP probleminin işlənməsi limitləri ilə Simpleks metodunun genişləndirilmiş LP/Kvadratik versiyasından istifadə edir.
SQP Genişmiqyaslı problemlər üçün Həlledici kvadrat proqramlaşdırma (QP) məsələlərini həll etmək üçün seyrəkliklə aktiv dəst metodunun müasir tətbiqindən istifadə edir. XPRESS Solver mühərriki QP problemlərini həll etmək üçün "Daxili Nöqtə" və ya Nyuton Baryer metodunun təbii genişləndirilməsindən istifadə edir.
MOSEK Solver daxil edilmiş "Inside Point" və avtomatik ikili üsulları tətbiq edir. Bu, xüsusilə sərbəst bağlanmış QP problemləri üçün effektivdir. O, həmçinin Ölçək Kvadrat Məhdudiyyəti (QCP) və İkinci Tərtib Konus Proqramlaşdırma (SOCP) problemlərini həll edə bilər.
Çox əməliyyatlı hesablamalar
Onlar Microsoft Office funksiyalarının istifadəsi ilə, məsələn, Excel-də optimallaşdırma problemlərinin həlli ilə kifayət qədər uğurla istifadə olunur.
Yuxarıdakı cədvəldə simvollar bunlardır:
- K1 - K6 - mal təmin etməli olan müştərilər.
- S1 - S6 bunun üçün tikilə biləcək potensial istehsal sahələridir. Yaradıla bilər1, 2, 3, 4, 5 və ya bütün 6 məkan.
I sütununda sadalanan hər bir obyekt üçün sabit xərclər var (Düzeltme).
Məkan heç nəyi dəyişməsə, nəzərə alınmayacaq. O zaman heç bir sabit xərc olmayacaq.
Ən aşağı qiyməti əldə etmək üçün potensial yerləri müəyyənləşdirin.
Bu şərtlərdə yer ya müəyyən edilir, ya da deyil. Bu iki vəziyyət: "DOĞRU - YANLIŞ" və ya "1 - 0". Altı yer üçün altı ştat var, məsələn, 000001 yalnız altıncıya, 111111 hamısına təyin edilib.
İkili say sistemində 000001 (1)-dən 111111-ə (63) qədər tam olaraq 63 fərqli seçim var.
L2-L64 indi {=ÇOX ƏMƏLİYYAT (K1)} oxumalıdır, bunlar bütün alternativ həllərin nəticələridir. Sonra minimum dəyər=Min (L) və müvafiq alternativ İNDEKS (K)-dır.
CPLEX Tam Ədədi Proqramlaşdırma
Bəzən bir iş probleminin mahiyyətinə varmaq üçün xətti əlaqə kifayət etmir. Bu, qərarların müəyyən bir yerdə anbar açmaq və ya açmamaq kimi diskret seçimləri əhatə etdiyi zaman xüsusilə doğrudur. Bu vəziyyətlərdə tam ədəd proqramlaşdırmadan istifadə edilməlidir.
Əgər problem həm diskret, həm də davamlı seçimləri əhatə edirsə, bu, qarışıq tam proqramdır. O, xətti, qabarıq kvadratik məsələlərə və eyni ikinci dərəcəli məhdudiyyətlərə malik ola bilər.
Tam proqramlar xətti proqramlardan qat-qat mürəkkəbdir, lakin onların mühüm biznes tətbiqləri var. Proqram təminatıCPLEX proqramı tam ədədi məsələləri həll etmək üçün mürəkkəb riyazi metodlardan istifadə edir. Onun metodları optimal həllin dəyəri üzrə sərhədləri hesablamaq üçün xətti və ya kvadratik proqram relaksasiyalarından istifadə edərək diskret dəyişənlərin mümkün kombinasiyalarının sistematik axtarışını əhatə edir.
Onlar həmçinin məhdudiyyətləri hesablamaq üçün LP və digər optimallaşdırma probleminin həlli üsullarından istifadə edirlər.
Standart Microsoft Excel Həlledici
Bu texnologiya LP problemlərini həll etmək üçün əsas Simpleks metodunun əsas tətbiqindən istifadə edir. 200 dəyişənlə məhdudlaşır. "Premium Solver" dəyişənlər üçün ikitərəfli sərhədləri olan təkmilləşdirilmiş əsas sadə metoddan istifadə edir. Premium Solver platforması 2000-ə qədər qərar dəyişəni ilə optimallaşdırma problemini həll etmək üçün LP/Kvadrat Simpleks Həlledicinin genişləndirilmiş versiyasından istifadə edir.
Premium Solver platforması üçün geniş miqyaslı LP, vaxta və yaddaşa qənaət etmək üçün LP modelində seyrəklikdən istifadə edən sadə və ikiqat simpleks metodunun ən müasir tətbiqini tətbiq edir, yeniləmə üçün qabaqcıl strategiyalar və refaktorinq matrisləri, çoxsaylı və qismən qiymətlər və fırlanmalar və degenerasiyanın aradan qaldırılması üçün. Bu mühərrik üç versiyada mövcuddur (8.000, 32.000-ə qədər və ya qeyri-məhdud dəyişənləri və limitləri idarə edə bilir).
MOSEK Solverə ilkin və ikili simpleks daxildir, bu üsul həm də seyrəklikdən istifadə edir və matrisin yenilənməsi və "refaktorizasiya" üçün qabaqcıl strategiyalardan istifadə edir. Bu qeyri-məhdud ölçülü problemləri həll edir, idimilyonlarla qərar dəyişəni ilə xətti proqramlaşdırma problemlərində sınaqdan keçirilmişdir.
EXCEL-də addım-addım nümunə
Excel-də optimallaşdırma problemi modelini müəyyən etmək üçün aşağıdakı addımları yerinə yetirin:
- Problem üçün verilənləri məntiqi formada cədvəldə təşkil edin.
- Hər dəyişəni saxlamaq üçün xana seçin.
- Optimallaşdırma məsələsinin hədəf riyazi modelini hesablamaq üçün xanada düstur yaradın.
- Hər məhdudiyyətin sol tərəfini hesablamaq üçün düsturlar yaradın.
- Həllediciyə qərar dəyişənləri, hədəflər, məhdudiyyətlər və bu parametrlər üzrə arzu olunan sərhədlər haqqında məlumat vermək üçün Excel-də dialoqlardan istifadə edin.
- Optimal həlli tapmaq üçün "Həlledici"ni işə salın.
- Excel cədvəli yaradın.
- Məqsəd funksiyası və məhdudiyyət üçün düsturun hesablandığı Excel-də problem üçün verilənləri təşkil edin.
Yuxarıdakı cədvəldə B4, C4, D4 və E4 xanaları X 1, X 2, X 3 və X 4 qərar dəyişənlərini təmsil etmək üçün ayrılıb. Qərar nümunələri:
- Məhsul qarışığı modeli (məhsul başına $450, $1150, $800 və $400 mənfəət) müvafiq olaraq B5, C5, D5 və E5 xanalarına daxil edilib. Bu, hədəfi F5=B5B4 + C5C4 + D5D4 + E5E4 və ya F5 ilə hesablamağa imkan verir:=SUMPRODUCT (B5: E5, B4: E4).
- B8-də hər bir məhsul növünün istehsalı üçün tələb olunan resursların miqdarını daxil edin.
- F8 üçün düstur:=SUMPRODUCT(B8:E8, $B$4:$E$4).
- Bunu kopyalayınF9-da düstur. $B$4:$E$4-də dollar işarələri bu xana diapazonunun sabit qaldığını göstərir.
- G8-də sağdakı məhdudiyyətlərin dəyərlərinə uyğun gələn hər bir növün mövcud resurslarını daxil edin. Bu, onları belə ifadə etməyə imkan verir: F11<=G8: G11.
- Bu, dörd limitə bərabərdir F8<=G8, F9 <=G9, F10 <=G10 və F11=0
Metodun praktik tətbiqi sahələri
Xətti optimallaşdırmanın optimallaşdırma probleminə nümunə kimi bir çox praktik tətbiqi var:
Şirkət məlum töhfə marjası ilə bir neçə məhsul istehsal edə bilər. Hər bir məhsul vahidinin istehsalı məlum miqdarda məhdud resurslar tələb edir. Vəzifə hər bir məhsulun nə qədər istehsal edilməli olduğunu müəyyən etmək üçün istehsal proqramı yaratmaqdır ki, resurs məhdudiyyətlərini pozmadan şirkətin mənfəəti maksimum olsun.
Qarışdırma problemləri inqrediyentlərin son məhsulda birləşdirilməsi ilə bağlı optimallaşdırma problemlərinin həllidir. Buna misal olaraq 1947-ci ildə Corc Danziqin tədqiq etdiyi pəhriz problemini göstərmək olar. Yulaf, donuz əti, günəbaxan yağı kimi bir sıra xammallar zülal, yağ, A vitamini kimi qida maddələri və kiloqramının qiyməti ilə birlikdə verilir. Çətinlik xammaldan bir və ya bir neçə son məhsulun qida dəyəri üçün minimum və maksimum limitlərə riayət etməklə mümkün olan ən aşağı qiymətə qarışdırmaqdır.
Xətti optimallaşdırma probleminin klassik tətbiqi ehtiyaclar üçün marşrut təyin etməkdirtelekommunikasiya və ya nəqliyyat şəbəkələrində trafik. Eyni zamanda, axınlar şəbəkə vasitəsilə elə aparılmalıdır ki, bütün trafik tələbləri bant genişliyi şərtlərini pozmadan yerinə yetirilsin.
Riyazi nəzəriyyədə xətti optimallaşdırma iki nəfər üçün sıfır cəmi oyunlarda optimal strategiyaları hesablamaq üçün istifadə edilə bilər. Bu halda, hər bir iştirakçı üçün ehtimal bölgüsü hesablanır ki, bu da onun strategiyalarının təsadüfi qarışdırılması əmsalıdır.
Dünyada heç bir uğurlu biznes prosesi optimallaşdırmadan mümkün deyil. Bir çox optimallaşdırma alqoritmləri mövcuddur. Bəzi üsullar yalnız müəyyən növ problemlər üçün uyğundur. Onların xüsusiyyətlərini tanımaq və uyğun həll metodunu seçmək vacibdir.