برنامه‌نویسی محدودیت

برنامه‌نویسی محدودیت (انگلیسی: Constraint programming) یا برنامه‌نویسی محدودیت‌ها، در علوم رایانه، یک پارادایم برنامه‌نویسی است، که در آن روابط بین متغیرها، به شکل محدودیت بیان می‌شود. در این متدلوژی، محدودیت‌ها با اولویت‌های مشترک زبان‌های برنامه‌نویسی دستوری متفاوت می‌باشد، زیرا آنها مرحله یا دنباله‌ای از مراحل اجرایی را مشخص نمی‌کنند، بلکه تنها خواص یک راه‌حل را می‌توان در آنها یافت. این ویژگی باعث می‌شود برنامه‌نویسی محدودیت، نوعی از برنامه‌نویسی اعلانی محسوب گردد.

انواع مختلفی از محدودیت‌ها در زبان برنامه‌نویسی محدودیت‌ها مورد استفاده قرار می‌گیرد، که نمونه‌ای از آنها شامل مسائل ارضای محدودیت و نابرابری‌های خطی می‌باشد. در این روش محدودیت‌ها اغلب در یک زبان برنامه‌نویسی جاسازی شده یا از طریق کتابخانه‌های نرم‌افزاری جداگانه تهیه می‌شوند. برنامه‌نویسی محدودیت راهکاری مؤثر جهت حل و بهینه‌سازی مسائلی است که طبیعت آنها تا حدی نامنظم می‌باشد و نمی‌توان آن‌ها را با استفاده از زبان ریاضی مدل‌سازی کرد. این مسائل شامل پنجره‌های زمانی، مسائل زمان‌بندی و تخصیص یا تعویض عملیات می‌باشد. متدلوژی برنامه‌نویسی محدودیت معایبی نیز دارد که می‌توان به عدم استفاده از رهاسازی خطی و عدم محاسبه فاصله مسئله اصلی، اشاره کرد. رویه‌های حل در برنامه‌نویسی محدودیت اغلب در سه مرحلهٔ؛ انتشار محدودیت، روش پس‌گرد و بهبود جواب، عمل می‌نمایند.

جستارهای وابسته

منابع

    پیوند به بیرون

    در ویکی‌انبار پرونده‌هایی دربارهٔ برنامه‌نویسی محدودیت موجود است.
    This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.