{"id":100,"date":"2006-09-19T15:30:38","date_gmt":"2006-09-19T19:30:38","guid":{"rendered":"http:\/\/mat.tepper.cmu.edu\/blog\/?p=86"},"modified":"2006-09-19T15:30:38","modified_gmt":"2006-09-19T19:30:38","slug":"more-on-patents-constraint-programming","status":"publish","type":"post","link":"https:\/\/mat.tepper.cmu.edu\/blog\/index.php\/2006\/09\/19\/more-on-patents-constraint-programming\/","title":{"rendered":"More on patents: constraint programming"},"content":{"rendered":"<p>Diego Olivier Fernandez Pons has continued to search the <a href=\"http:\/\/www.uspto.gov\/patft\/\">patent database<\/a> for <a href=\"http:\/\/mat.tepper.cmu.edu\/blog\/?p=85\">interesting patents<\/a>.  Here is one given in 2000 to <a href=\"http:\/\/www.i2.com\/\">i2<\/a>:<\/p>\n<p>US patent 6,031,984<\/p>\n<p>Method and apparatus for optimizing constraint models<\/p>\n<p>February 29, 2000<\/p>\n<blockquote><p>A computer implemented system (40) for optimizing a constraint model (52) includes a memory (46) for storing the constraint model (52). The constraint model (52) is an over-constrained system model that has constraints with variables. Each variable in the constraint model (52) is<br \/>\nassigned a current value from a domain of the variable. A processor (42) generates a current assignment of each variable in the constraint model (52), selects a constraint from a set of unsatisfied constraints, selects at least one variable of the selected constraint, selects a new value for each selected variable, changes the value of each selected variable to its new value to generate a new assignment of variables, and stores the new assignment of variables as a best assignment in a set of one or more best assignments if it satisfies all the constraints and is at least as good as a best stored assignment. The processor (42) repeats the operations of selecting a constraint, a variable, and a new value, changing the value of each selected variable to its new value to generate a new assignment, and storing the new assignment until the new assignment satisfies all the constraints and is approximately optimal or until a specified number of iterations has been performed. In response, the processor (42) communicates at least one best stored assignment or communicates that no assignment satisfying all the constraints was found.<\/p><\/blockquote>\n<p>Looks like i2 has a patent on constraint programming. This could certainly cause some chaos to companies!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Diego Olivier Fernandez Pons has continued to search the patent database for interesting patents. Here is one given in 2000 to i2: US patent 6,031,984 Method and apparatus for optimizing constraint models February 29, 2000 A computer implemented system (40) for optimizing a constraint model (52) includes a memory (46) for storing the constraint model &hellip; <a href=\"https:\/\/mat.tepper.cmu.edu\/blog\/index.php\/2006\/09\/19\/more-on-patents-constraint-programming\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;More on patents: constraint programming&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[33],"tags":[],"class_list":["post-100","post","type-post","status-publish","format-standard","hentry","category-legal"],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/mat.tepper.cmu.edu\/blog\/index.php\/wp-json\/wp\/v2\/posts\/100","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mat.tepper.cmu.edu\/blog\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mat.tepper.cmu.edu\/blog\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mat.tepper.cmu.edu\/blog\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mat.tepper.cmu.edu\/blog\/index.php\/wp-json\/wp\/v2\/comments?post=100"}],"version-history":[{"count":0,"href":"https:\/\/mat.tepper.cmu.edu\/blog\/index.php\/wp-json\/wp\/v2\/posts\/100\/revisions"}],"wp:attachment":[{"href":"https:\/\/mat.tepper.cmu.edu\/blog\/index.php\/wp-json\/wp\/v2\/media?parent=100"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mat.tepper.cmu.edu\/blog\/index.php\/wp-json\/wp\/v2\/categories?post=100"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mat.tepper.cmu.edu\/blog\/index.php\/wp-json\/wp\/v2\/tags?post=100"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}