برنامهنویسی محدودیت
برنامهنویسی محدودیت (انگلیسی: Constraint programming) یا برنامهنویسی محدودیتها، در علوم رایانه، یک پارادایم برنامهنویسی است، که در آن روابط بین متغیرها، به شکل محدودیت بیان میشود. در این متدلوژی، محدودیتها با اولویتهای مشترک زبانهای برنامهنویسی دستوری متفاوت میباشد، زیرا آنها مرحله یا دنبالهای از مراحل اجرایی را مشخص نمیکنند، بلکه تنها خواص یک راهحل را میتوان در آنها یافت. این ویژگی باعث میشود برنامهنویسی محدودیت، نوعی از برنامهنویسی اعلانی محسوب گردد.
پارادایمهای برنامهنویسی |
---|
|
انواع مختلفی از محدودیتها در زبان برنامهنویسی محدودیتها مورد استفاده قرار میگیرد، که نمونهای از آنها شامل مسائل ارضای محدودیت و نابرابریهای خطی میباشد. در این روش محدودیتها اغلب در یک زبان برنامهنویسی جاسازی شده یا از طریق کتابخانههای نرمافزاری جداگانه تهیه میشوند. برنامهنویسی محدودیت راهکاری مؤثر جهت حل و بهینهسازی مسائلی است که طبیعت آنها تا حدی نامنظم میباشد و نمیتوان آنها را با استفاده از زبان ریاضی مدلسازی کرد. این مسائل شامل پنجرههای زمانی، مسائل زمانبندی و تخصیص یا تعویض عملیات میباشد. متدلوژی برنامهنویسی محدودیت معایبی نیز دارد که میتوان به عدم استفاده از رهاسازی خطی و عدم محاسبه فاصله مسئله اصلی، اشاره کرد. رویههای حل در برنامهنویسی محدودیت اغلب در سه مرحلهٔ؛ انتشار محدودیت، روش پسگرد و بهبود جواب، عمل مینمایند.
جستارهای وابسته
منابع
- مشارکتکنندگان ویکیپدیا. «Constraint programming». در دانشنامهٔ ویکیپدیای انگلیسی، بازبینیشده در ۲۳ سپتامبر ۲۰۱۹.