{"title":"约束语言NCL简介","authors":"Jianyang Zhou","doi":"10.1016/S0743-1066(99)00063-1","DOIUrl":null,"url":null,"abstract":"<div><p>The design, implementation and application of a natural constraint language <span>NCL</span> <!-->are presented. At the solver level, to support the solving of a large scope of combinatorial problems, a rich set of conventional constraints is defined within a constraint framework that strongly combines Boolean logic, integer constraints and set reasoning over finite domains. The basic computation model for solving conjunctions of elementary constraints with possible existential and universal quantifications is described using rewrite rules. At the language level, to upgrade the expressive power, a natural syntax (context-dependent), which completely adopts mathematical notations, is designed. To enhance the constraint handling capability, quantification, logical switch, referencing mechanism, global/dynamic constraints, meta expressions, multi-criteria optimization, and search specifications are cooperatively introduced in a single constraint system. Compared to existing modeling languages, a strong feature of <span>NCL</span> <!-->is: Data, constraints and control are fully integrated and are clearly separable. Especially, though <span>NCL</span> <!-->deals with several data types such as Boolean, integer, set, index, reference, array and tuple, there is no need to declare data explicitly. This context-sensitive data typing makes <span>NCL</span> <!-->programs direct, concise and liberal.</p></div>","PeriodicalId":101236,"journal":{"name":"The Journal of Logic Programming","volume":"45 1","pages":"Pages 71-103"},"PeriodicalIF":0.0000,"publicationDate":"2000-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/S0743-1066(99)00063-1","citationCount":"23","resultStr":"{\"title\":\"Introduction to the constraint language NCL\",\"authors\":\"Jianyang Zhou\",\"doi\":\"10.1016/S0743-1066(99)00063-1\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"<div><p>The design, implementation and application of a natural constraint language <span>NCL</span> <!-->are presented. At the solver level, to support the solving of a large scope of combinatorial problems, a rich set of conventional constraints is defined within a constraint framework that strongly combines Boolean logic, integer constraints and set reasoning over finite domains. The basic computation model for solving conjunctions of elementary constraints with possible existential and universal quantifications is described using rewrite rules. At the language level, to upgrade the expressive power, a natural syntax (context-dependent), which completely adopts mathematical notations, is designed. To enhance the constraint handling capability, quantification, logical switch, referencing mechanism, global/dynamic constraints, meta expressions, multi-criteria optimization, and search specifications are cooperatively introduced in a single constraint system. Compared to existing modeling languages, a strong feature of <span>NCL</span> <!-->is: Data, constraints and control are fully integrated and are clearly separable. Especially, though <span>NCL</span> <!-->deals with several data types such as Boolean, integer, set, index, reference, array and tuple, there is no need to declare data explicitly. This context-sensitive data typing makes <span>NCL</span> <!-->programs direct, concise and liberal.</p></div>\",\"PeriodicalId\":101236,\"journal\":{\"name\":\"The Journal of Logic Programming\",\"volume\":\"45 1\",\"pages\":\"Pages 71-103\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2000-09-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"https://sci-hub-pdf.com/10.1016/S0743-1066(99)00063-1\",\"citationCount\":\"23\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"The Journal of Logic Programming\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://www.sciencedirect.com/science/article/pii/S0743106699000631\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"The Journal of Logic Programming","FirstCategoryId":"1085","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S0743106699000631","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
The design, implementation and application of a natural constraint language NCL are presented. At the solver level, to support the solving of a large scope of combinatorial problems, a rich set of conventional constraints is defined within a constraint framework that strongly combines Boolean logic, integer constraints and set reasoning over finite domains. The basic computation model for solving conjunctions of elementary constraints with possible existential and universal quantifications is described using rewrite rules. At the language level, to upgrade the expressive power, a natural syntax (context-dependent), which completely adopts mathematical notations, is designed. To enhance the constraint handling capability, quantification, logical switch, referencing mechanism, global/dynamic constraints, meta expressions, multi-criteria optimization, and search specifications are cooperatively introduced in a single constraint system. Compared to existing modeling languages, a strong feature of NCL is: Data, constraints and control are fully integrated and are clearly separable. Especially, though NCL deals with several data types such as Boolean, integer, set, index, reference, array and tuple, there is no need to declare data explicitly. This context-sensitive data typing makes NCL programs direct, concise and liberal.