در ریاضیات بهینه‌سازی، **برنامه‌ریزی کسری** تعمیم یافته برنامه‌ریزی کسری-خطی است. تابع هدف در این مسئله به صورت نسبت دو تابع است که در حالت کلی خطی نیستند. بهینه‌سازی نسبت، معمولاً به بهینه‌سازی بازدهی یک سیستم مربوط می‌شود.

تعریف
-----

فرض کنید {\displaystyle f,g,h\_{j},j=1,\ldots ,m} توابع با مقدار حقیقی روی مجموعه {\displaystyle \mathbf {S} \_{0}\subset \mathbb {R} ^{n}} باشند. همچنین فرض کنید {\displaystyle \mathbf {S} =\{{\boldsymbol {x}}\in \mathbf {S} \_{0}:h\_{j}({\boldsymbol {x}})\leq 0,j=1,\ldots ,m\}}. آنگاه مسئله غیرخطی

{\displaystyle (P)\;\;\;\;\;\;{\underset {{\boldsymbol {x}}\in \mathbf {S} }{\text{maximize}}}\quad {\frac {f({\boldsymbol {x}})}{g({\boldsymbol {x}})}},}
به ازای {\displaystyle g({\boldsymbol {x}})>0} روی {\displaystyle \mathbf {S} }، یک برنامه‌ریزی کسری است.

در برخی از کاربردها تعداد نسبتهایی که در تابع هدف وجود دارد بیشتر از یک است که به صورت زیر بیان می‌گردد

{\displaystyle \max \left\{{\mathop {\min } \limits \_{1\leqslant i\leqslant p}{q\_{i}}\left(x\right):x\in S}\right\}}

که {\displaystyle {q\_{i}}\left(x\right)={\frac {{f\_{i}}\left(x\right)}{{g\_{i}}\left(x\right)}}} و {\displaystyle {g\_{i}}\left(x\right)>0} به ازای {\displaystyle {x\in S}}. این مساله با عنوان برنامه‌ریزی کسری تعمیم یافته یا برنامه‌ریزی کسری حداکثر-حداقل نیز شناخته می‌شود.
حال اگر g , f افاین باشند و S یک چندوجهی محدب باشد آنگاه مساله مورد نظر یک برنامه‌ریزی کسری خطی خواهد بود و به فرم زیر نوشته می‌شود:

{\displaystyle \max \left\{{{\frac {{c^{T}}x+\alpha }{{d^{T}}x+\beta }}:Ax\leqslant b,x\geqslant 0}\right\}}

که {\displaystyle c,d\in {\mathbb {R} ^{n}}}، {\displaystyle \alpha ,\beta \in \mathbb {R} }، بالانویس T نشاندهنده ترانهاده است، A یک ماتریس {\displaystyle m\times n} است و {\displaystyle b\in {\mathbb {R} ^{m}}}.

در تعمیم برنامه‌ریزی کسری خطی، مساله اخیر را برنامه‌ریزی کسری مقعر می نامند اگر که صورت کسر (تابع f) بر روی {\displaystyle S\_{0}} مقعر باشد و g و {\displaystyle h\_{j}} روی مجموعه محدب {\displaystyle S\_{0}} محدب باشند. همچنین اگر g افاین نباشد آنگاه f را نامنفی در نظر می‌گیرند. توجه شود که تابع هدف مساله برنامه‌ریزی کسری مقعر معمولاً یک تابع مقعر نیست.
به‌طور کلی تمرکز در برنامه‌ریزی کسری بر روی تابع هدف است و ساختار نسبت آن تابع. ناحیه شدنی هم فرض می‌شود یک مجموعه محدب باشد یا یک چندوجهی محدب در نظر گرفته می‌شود.

کاربردها
--------

### کاربرد اقتصادی

بازدهی یک سیستم گاهی اوقات به صورت نسبت ترم‌های اقتصادی و تکنیکی مشخصه سازی می‌گردد. که نتیجتاً حداکثرسازی بازدهی منجر به یک برنامه‌ریزی کسری می‌شود. معمولاً توابع هدف زیر در بحث اقتصاد مورد نظر هستند:
1- حداکثر سازی تولید
2- حداکثر سازی سوددهی نسبت به سرمایه‌گذاری
3- حداکثر درآمد نسبت به ریسک
4- حداقل سازی هزینه نسبت به زمان
5- حداکثرسازی خروجی نسبت به ورودی

### کاربرد غیر اقتصادی

کاربردهای غیر اقتصادی از جمله تئوری اطلاعات، ریاضی و فیزیک کاربردی هستند.

### کاربردهای غیرمستقیم

تعدادی از مسائل علم مدیریت وجود دارد که به‌طور غیرمستقیم به یک مساله برنامه‌ریزی کسری تبدیل می‌شوند.

نتایج الگوریتمی و نظری
----------------------

به‌طور معمول مسائل کسری یا به صورت برنامه‌ریزی کسری مقعر هستند یا به صورت برنامه‌ریزی کسری خطی. معمولاً استراتژی‌های حل این مسائل به صورت زیر هستند:

1) حل مسائل برنامه‌ریزی شبه مقعر (P):

برنامه‌ریزی‌های کسری مقعر (خطی) ویژگی‌های مشترکی با برنامه‌ریزی‌های مقعر (کسری) به شرح زیر دارند :

i) بیشینه محلی همان بیشینه عمومی است.

ii) مقدار بیشینه یکتا است اگر که یا صورت کسر اکیداً مقعر باشد یا مخرج کسر اکیداً محدب باشد.

iii) با فرض مشتق پذیر بودن <g، {\displaystyle h\_{j}} و {\displaystyle h\_{j}} بر روی مجموعه {\displaystyle S\_{0}} جواب شرایط بهینگی KKT مقدار بیشینه خواهد بود.

iv) در یک مساله برنامه‌ریزی کسری خطی، به شرط وجود مقدار بهینه، این مقدار در نقطه انتهایی چندوجهی محدب S رخ خواهد داد.

با توجه به ویژگی‌هایی که بیان شد، امکان این وجود دارد که مسائل برنامه‌ریزی کسری مقعر را با استفاده از الگوریتم‌های استاندارد موجود برای برنامه‌ریزی مقعر حل نمود. اگر (P) یک برنامه‌ریزی کسری خطی باشد، آنگاه ویژگی iv می‌تواند به منظور حل (P) توسط روندی مانند سیمپلکس استفاده شود.

2) حل یک مساله برنامه‌ریزی مقعر معادل ( {\displaystyle (P')}):

برخی از الگوریتم‌های برنامه‌ریزی مقعر به منظور برنامه‌ریزی‌های مقعر تعمیم یافته مناسب نیستند. بنابراین در ظاهر انتخاب الگوریتم‌های برنامه‌ریزی مقعر به منظور حل مسائل برنامه‌ریزی کسری مقعر با مشکل مواجه می‌گردد. با این وجود نشان داده می‌شود که هر برنامه‌ریزی کسری مقعر را می‌توان به یک برنامه‌ریزی مقعر تبدیل کرد. برای این منظور از تغییر متغیرهای زیر استفاده می‌گردد:

{\displaystyle t={\frac {1}{g({\boldsymbol {x}})}}}
و
{\displaystyle {\boldsymbol {y}}={\frac {\boldsymbol {x}}{g({\boldsymbol {x}})}}}

که مساله (P) را به صورت {\displaystyle (P')} تبدیل می نماید:

{\displaystyle \left({P'}\right)\;\;\;\;\;\max \left\{{tf\left({\frac {y}{t}}\right):{\begin{array}{\*{20}{c}}{t{h\_{k}}\left({\frac {y}{t}}\right)\leqslant 0,k=1,...m}\\{tg\left({\frac {y}{t}}\right)\leqslant 1,{\frac {y}{t}}\in {S\_{0}},t>0}\end{array}}}\right\}}

که یک مساله برنامه‌ریزی مقعر است.

اگر {\displaystyle {\frac {\bar {y}}{\bar {t}}}} یک جواب بهینه برای {\displaystyle (P')} باشد آنگاه {\displaystyle {{\bar {x}}={\frac {\bar {y}}{\bar {t}}}}} یک جواب بهینه برای مساله (P) خواهد بود. این ایده اولین بار توسط Charnes و Cooper پیشنهاد گردید.

به دلیل این چنین تبدیلی به برنامه‌ریزی مقعر، مسائل برنامه‌ریزی کسری مقعر می‌توانند توسط الگوریتم‌های موجود مربوط به برنامه‌ریزی مقعر حل شوند.

به‌طور خاص با اعمال تبدیل بر روی برنامه‌ریزی کسری خطی به مساله برنامه‌ریزی خطی زیر می‌رسیم:

{\displaystyle \max \left\{{{c^{T}}y+\alpha t:Ay-bt\leqslant 0,{d^{T}}y+\beta t=1,y\geqslant 0,t>0}\right\}}

3) حل برنامه‌ریزی دوگان {\displaystyle (D)}:

یکی از معایب حل مستقیم مساله (P) این است که مفاهیم دوگانی برنامه‌ریزی مقعر قابل استفاده نیستند. با این حال تبدیلی که در قسمت قبل تعریف شد اجازه استفاده از دوگانی برنامه‌ریزی مقعر را فراهم می‌سازد. بنابراین یک برنامه‌ریزی کسری دوگان را می‌توان برای برنامه‌ریزی مقعر معادل {\displaystyle (P')} تعریف کرد. به‌طور مثال دوگان لاگرانژین {\displaystyle (P')} به برنامه‌ریزی کسری دوگان زیر منتج می‌گردد:

{\displaystyle \left(D\right)\,\,\,\,\,\,\min \left\{{\mathop {\sup } \limits \_{x\in C}{\frac {f\left(x\right)-{u^{T}}H\left(x\right)}{g\left(x\right)}}:u\geqslant 0}\right\}}

که {\displaystyle H={\left\{{{h\_{1}},...{h\_{m}}}\right\}^{T}}} است.

4) حل یک مساله پارامتری {\displaystyle (P\_{q})}:

کلاس‌های زیادی از الگوریتم‌ها بر اساس مساله پارامتری زیر که مرتبط با (P) هستند وجود دارند:

{\displaystyle \left({P\_{q}}\right)\;\;\;\;\pi \left(q\right)=\max \left\{{f\left(x\right)-qg\left(x\right):x\in S}\right\}}

که {\displaystyle {q\in \mathbb {R} }} یک پارامتر حقیقی است. مساله {\displaystyle (P\_{q})} گاهی اوقات راحتتر از مساله (P) به صورت عددی قابل پیگیری است. طبق Dinkelbach  یک جواب بهینه برای {\displaystyle \left({P\_{\bar {q}}}\right)} که {\displaystyle {\bar {q}}} ریشه یکتا {\displaystyle \pi \left(q\right)=0} است، حل مساله (P) نیز خواهد بود.

هر کدام از 4 روشی که تا به حال ذکر شدند ویژگی‌های خاص خود را دارند که برخی کاربردها و ویژگی‌های آن‌ها در مرجع  با جزئیات مطرح شده‌اند.

5) روش‌های نقطه داخلی

علاوه بر روش‌های کلاسیک که در بالا ذکر شدند، تکنیک‌های جدیدی به وجود آمدند که از نوع نقطه داخلی هستند. اولین این روش‌ها توسط Anstreicher برای مسائل برنامه‌ریزی کسری خطی پیشنهاد شد. بعد از آن هم Ferund و Jarre یک روش نقطه داخلی برای برنامه‌ریزی‌های کسری مقعر پیشنهاد کردند.

جالب توجه است که برخی از این پنج استراتژی که مطرح شدند در ارتباط با مسائل مختلف برنامه‌ریزی کسری مقعر (خطی) که دارای ناحیه شدنی فشرده هستند می‌توانند عملکرد یکسانی داشته باشند. با این حال ممکن است یک استراتژی نسبت به استراتژی دیگر دارای بار محاسباتی بیشتری باشد.

منابع
-----

1. ↑
2. ↑  Schaible, Siegfried, and Toshidide Ibaraki. "Fractional programming." European Journal of Operational Research 12.4 (1983): 325-338.
3. ↑  «نسخه آرشیو شده» (PDF). بایگانی‌شده از اصلی (PDF) در ۱۰ سپتامبر ۲۰۱۶. دریافت‌شده در ۳۰ ژانویه ۲۰۱۷.
4. 1 2  Schaible, Siegfried. "Fractional programming." Handbook of global optimization. Springer US, 1995. 495-608.
5. ↑  Schaible, Siegfried. "Fractional programming: applications and algorithms." European Journal of Operational Research 7.2 (1981): 111-120.
6. ↑  Avriel, Mordecai, et al. Generalized concavity. Society for Industrial and Applied Mathematics, 2010.
7. ↑  Martos, Béla. Nonlinear programming theory and methods. North-Holland, 1975.
8. ↑  Schaible, Siegfried. "Parameter-free convex equivalent and dual programs of fractional programming problems." Zeitschrift für Operations Research 18 (1974): 187-196.
9. ↑  Charnes, Abraham, and William W. Cooper. "Programming with linear fractional functionals." Naval Research logistics quarterly 9.3‐4 (1962): 181-186.
10. ↑  Schaible, Siegfried. "Fractional programming. i, duality." Management Science 22.8 (1976): 858-867.
11. ↑  Dinkelbach, Werner. "On nonlinear fractional programming." Management science 13.7 (1967): 492-498.
12. ↑  Anstreicher, Kurt M. "A monotonic projective algorithm for fractional linear programming." Algorithmica 1.1-4 (1986): 483-498.
13. ↑  Freund, Roland W. and Florian Jarre. "An interior-point method for fractional programs with convex constraints." Mathematical Programming 67.1-3 (1994): 407-440.