[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"detail-sidebar-cat-0-en-105":3,"doc-seo-504928-105":59,"doc-detail-504928-en":130},{"code":4,"msg":5,"data":6},0,"success",[7,13,18,23,28,33,38,43,48,51,55],{"id":8,"doc_module":4,"doc_module_name":9,"category_name":10,"show_sort_weight":11,"slug":12},1,"Document","Story & Novel",90,"story-novel",{"id":14,"doc_module":4,"doc_module_name":9,"category_name":15,"show_sort_weight":16,"slug":17},2,"Literature",80,"literature",{"id":19,"doc_module":4,"doc_module_name":9,"category_name":20,"show_sort_weight":21,"slug":22},4,"Exam",70,"exam",{"id":24,"doc_module":4,"doc_module_name":9,"category_name":25,"show_sort_weight":26,"slug":27},5,"Comic",60,"comic",{"id":29,"doc_module":4,"doc_module_name":9,"category_name":30,"show_sort_weight":31,"slug":32},6,"Technology",50,"technology",{"id":34,"doc_module":4,"doc_module_name":9,"category_name":35,"show_sort_weight":36,"slug":37},7,"Healthcare",40,"healthcare",{"id":39,"doc_module":4,"doc_module_name":9,"category_name":40,"show_sort_weight":41,"slug":42},8,"Research & Report",30,"research-report",{"id":44,"doc_module":4,"doc_module_name":9,"category_name":45,"show_sort_weight":46,"slug":47},9,"Religion & Spirituality",20,"religion-spirituality",{"id":46,"doc_module":4,"doc_module_name":9,"category_name":49,"show_sort_weight":46,"slug":50},"World Cup","world-cup",{"id":52,"doc_module":4,"doc_module_name":9,"category_name":53,"show_sort_weight":52,"slug":54},10,"Lifestyle","lifestyle",{"id":56,"doc_module":4,"doc_module_name":9,"category_name":57,"show_sort_weight":24,"slug":58},19,"General","general",{"code":4,"msg":60,"data":61},"ok",{"site_id":62,"language":63,"slug":64,"title":65,"keywords":66,"description":67,"schema_data":68,"social_meta":123,"head_meta":125,"extra_data":127,"updated_unix":129},105,"en","towards-a-closer-integration-of-dynamic-programming-and-constraint-programming-abstract-and-dynamic-program-encoding-dpe","Towards a Closer Integration of Dynamic Programming and Constraint Programming - Abstract and Dynamic Program Encoding (DPE)","","Three connections between Dynamic Programming and Constraint Programming have been studied previously, including DP-based global constraints, memoisation during tree search, and bucket elimination. The paper introduces a new link: discrete DP algorithms can be directly encoded as constraint satisfaction problems and solved with constraint propagation, avoiding backtracking. Applications include monolithic CP models for bilevel optimisation, where filtering occurs between leader and follower variables, demonstrated on network interdiction.",{"@graph":69,"@context":122},[70,84,105],{"@type":71,"itemListElement":72},"BreadcrumbList",[73,77,79,82],{"item":74,"name":75,"@type":76,"position":8},"https://docshare.wps.com","Home","ListItem",{"item":78,"name":9,"@type":76,"position":14},"https://docshare.wps.com/document/",{"item":80,"name":40,"@type":76,"position":81},"https://docshare.wps.com/document/research-report/",3,{"item":83,"name":65,"@type":76,"position":19},"https://docshare.wps.com/document/towards-a-closer-integration-of-dynamic-programming-and-constraint-programming-abstract-and-dynamic-program-encoding-dpe/504928/",{"url":83,"name":65,"@type":85,"image":86,"author":91,"headline":65,"publisher":94,"fileFormat":97,"inLanguage":63,"description":67,"dateModified":98,"datePublished":99,"encodingFormat":97,"isAccessibleForFree":100,"interactionStatistic":101},"DigitalDocument",{"url":87,"@type":88,"width":89,"height":90},"https://docshare.wps.com/thumbnails/towards-a-closer-integration-of-dynamic-programming-and-constraint-programming-abstract-and-dynamic-program-encoding-dpe/504928.png","ImageObject",300,407,{"name":92,"@type":93},"dhado","Person",{"url":74,"name":95,"@type":96},"DocShare","Organization","application/pdf","2026-10-16","2026-10-04",true,{"@type":102,"interactionType":103,"userInteractionCount":34},"InteractionCounter",{"@type":104},"ViewAction",{"@type":106,"mainEntity":107},"FAQPage",[108,114,118],{"name":109,"@type":110,"acceptedAnswer":111},"What new connection between DP and CP does the paper propose?","Question",{"text":112,"@type":113},"It proposes a Dynamic Program Encoding (DPE) where any discrete DP algorithm is modelled and solved as a CSP using constraint propagation without backtracking.","Answer",{"name":115,"@type":110,"acceptedAnswer":116},"Which prior connections between DP and CP does the paper build on?",{"text":117,"@type":113},"It reviews three: DP-based global constraints, memoisation/tabulation emulating DP in CP or constraint logic programming, and bucket elimination as a unifying framework.",{"name":119,"@type":110,"acceptedAnswer":120},"How does DPE work at a high level?",{"text":121,"@type":113},"DPE represents each DP state as a CP variable, while seed values and recurrence relations are represented as constraints so that constraint propagation computes the values.","https://schema.org",{"og:url":83,"og:type":124,"og:title":65,"og:site_name":95,"og:description":67},"article",{"robots":126,"canonical":83},"index,follow",{"doc_id":128,"site_id":62},504928,1791259574,{"code":4,"msg":5,"data":131},{"doc_id":128,"user_id":132,"nickname":92,"user_avatar":133,"doc_module":4,"category_id":39,"category_name":40,"doc_title":65,"doc_description":67,"doc_content":134,"file_id":135,"file_url":136,"file_type":137,"file_size":138,"view_count":34,"is_deleted":4,"is_public":8,"is_downloadable":8,"audit_status":8,"page_count":139,"language":140,"language_code":63,"site_id":62,"html_lang":63,"table_of_contents":141,"faqs":142,"seo_title":143,"seo_description":67,"update_tm":144,"read_time":145},5909893218464,"https://ap-avatar.wpscdn.com/davatar_085a072bc5b1113ac321206ff7593b45","Towards a Closer Integration of Dynamic Programming and Constraint Programming  \nS. D. Prestwich 1 , R. Rossi2 , S. A. Tarim3 , and A. Visentin 1  \n1 Insight Centre for Data Analytics, University College Cork, Ireland  \n[s.prestwich@cs.ucc.ie](s.prestwich@cs.ucc.ie),[andrea.visentin@insight-centre.org](andrea.visentin@insight-centre.org)  \n2 University of Edinburgh Business School, Edinburgh, UK  \n[Roberto.Rossi@ed.ac.uk](Roberto.Rossi@ed.ac.uk)  \n3 Department of Management, Cankaya University, Ankara, Turkey  \n[at@cankaya.edu.tr](at@cankaya.edu.tr)  \nAbstract  \nThree connections between Dynamic Programming (DP) and Constraint Programming (CP) have previously been explored in the literature: DP-based global constraints, DPlike memoisation during tree search to avoid recomputing results, and subsumption of both by bucket elimination. In this paper we propose a new connection: any discrete DP algorithm can be directly modelled and solved as a constraint satisfaction problem (CSP) without backtracking. This has applications including the design of monolithic CP models for bilevel optimisation. We show that constraint 􀀌ltering can occur between leader and follower variables in such models, and demonstrate the method on network interdiction.  \n1 Introduction  \nTwo major areas of research dealing with optimisation and decision making are Constraint Programming (CP) and Dynamic Programming (DP) . CP emerged in the 1990s from the 􀀌eld of Arti􀀌cial Intelligence. It has also been extended to Stochastic Constraint Programming (SCP) to handle problems involving uncertainty. Dynamic Programming (DP) emerged in the 1950s from the 􀀌eld of Operations Research, and is still indispensible for a wide range of modern, large-scale, deterministic and stochastic problems.  \nCP and DP are distinct 􀀌elds with di􀀋erent techniques, applications and research communities. Like Mathematical Programming, SAT and some other problem classes, CP has languages, development tools and solvers. DP has few or none of these and is rather an approach and a collection of techniques. But unifying distinct 􀀌elds of research often leads to new insights and techniques, and it is worth looking for ways of combining CP and DP. CP/OR integrations are surveyed in [9, 10] .  \nWe know of three existing connections between the two 􀀌elds. Firstly, the DP feature of solving each subproblem once only has been emulated in CP [4] and in Constraint Logic Programming languages including Picat [21], by remembering the results of subtree searches via the technique of memoization (or tabulation) which remembers results so that they need not be recomputed. This can improve search performance by several orders of magnitude. Secondly, DP has been used to implement several e􀀎cient global constraints within CP systems [17] . Thirdly, bucket elimination [6] is a very general framework that can model DP and CP problems and others.  \nIn this paper we explore a new connection between DP and CP: by explicitly representing DP states as CP variables, we can implement a DP as a Constraint Satisfaction Problem (CSP), which we call a Dynamic Program Encoding (DPE) . A DPE is solved by constraint propagation without backtracking and can form part of a larger constraint model, allowing  \nDP to be seamlessly integrated within CP. This includes Stochastic DP (SDP), allowing some multistage stochastic optimisation problems to be modelled as CSPs. Furthermore, replacing some constants by variables in a DPE parameterises it, leading to 􀀍exible global constraints that can be called in multiple modes, and monolithic CP models for discrete bilevel optimisation problems.  \nThe paper is organised as follows. Section 2 describes the DPE and its applications. Section  \n3 describes parameterised DPEs and their applications. Section 4 considers the bilevel optimisation application in detail, by modelling and solving a set of network interdiction problems. Section 5 concludes the paper and discusses future directions.  ","cbCaiis9Q9xxL5Uk","https://ap.wps.com/l/cbCaiis9Q9xxL5Uk","pdf",187668,13,"English","# Introduction\n# The dynamic program encoding\n## DPE for Fibonacci numbers","[{\"question\":\"What new connection between DP and CP does the paper propose?\",\"answer\":\"It proposes a Dynamic Program Encoding (DPE) where any discrete DP algorithm is modelled and solved as a CSP using constraint propagation without backtracking.\"},{\"question\":\"Which prior connections between DP and CP does the paper build on?\",\"answer\":\"It reviews three: DP-based global constraints, memoisation/tabulation emulating DP in CP or constraint logic programming, and bucket elimination as a unifying framework.\"},{\"question\":\"How does DPE work at a high level?\",\"answer\":\"DPE represents each DP state as a CP variable, while seed values and recurrence relations are represented as constraints so that constraint propagation computes the values.\"}]","Towards a Closer Integration of Dynamic Programming and Constraint Programming - Abstract and Dynamic Program Encoding (DPE) | PDF",1791079824,33]