<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Potassco - the Potsdam Answer Set Solving Collection</title>
    <description>The Potsdam Answer Set Solving Collection developed at the University of Potsdam.
</description>
    <link>/</link>
    <atom:link href="/feed.xml" rel="self" type="application/rss+xml"/>
    <pubDate>Sun, 15 Feb 2026 19:16:53 +0000</pubDate>
    <lastBuildDate>Sun, 15 Feb 2026 19:16:53 +0000</lastBuildDate>
    <generator>Jekyll v4.3.4</generator>
    
      <item>
        <title>LoIDE</title>
        <description>&lt;p&gt;LoIDE is an open-source web-based IDE for Logic Programming.
It is modular and extensible, and it has been developed using modern technologies and languages to be available from any device.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://demacs-unical.github.io/LoIDE&quot;&gt;Link to the webpage&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://loide.demacs.unical.it&quot;&gt;Link to a live demo&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/DeMaCS-UNICAL/LoIDE&quot;&gt;Link to the GitHub repository&lt;/a&gt;&lt;/p&gt;
</description>
        <pubDate>Tue, 27 Sep 2022 00:00:00 +0000</pubDate>
        <link>/related/2022/09/27/loide.html</link>
        <guid isPermaLink="true">/related/2022/09/27/loide.html</guid>
        
        
        <category>related</category>
        
      </item>
    
      <item>
        <title>EmbASP</title>
        <description>&lt;p&gt;EmbASP is an open-source framework for embedding Logic Programming into external systems.
It has been conceived to help developers design and implement, on different platforms, complex reasoning tasks by means of logic-based solvers.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://www.mat.unical.it/calimeri/projects/embasp&quot;&gt;Link to the website&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/DeMaCS-UNICAL/EmbASP&quot;&gt;Link to the GitHub repository&lt;/a&gt;&lt;/p&gt;
</description>
        <pubDate>Tue, 27 Sep 2022 00:00:00 +0000</pubDate>
        <link>/related/2022/09/27/embasp.html</link>
        <guid isPermaLink="true">/related/2022/09/27/embasp.html</guid>
        
        
        <category>related</category>
        
      </item>
    
      <item>
        <title>telingo</title>
        <description>&lt;p&gt;Telingo is a solver for temporal programs. It leaverages clingo’s input
language and scripting cababilities to parse and solve programs with temporal
formulas. As such, the input of telingo is valid clingo input supporting all of
clingo’s language features, like for example aggregates; only the way programs
are grounded and solved is adjusted.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/potassco/telingo/&quot;&gt;Download and Resources&lt;/a&gt;&lt;/p&gt;
</description>
        <pubDate>Mon, 03 Jun 2019 00:00:00 +0000</pubDate>
        <link>/labs/telingo/</link>
        <guid isPermaLink="true">/labs/telingo/</guid>
        
        
        <category>labs</category>
        
      </item>
    
      <item>
        <title>asprilo</title>
        <description>&lt;h1 id=&quot;what-is-asprilo&quot;&gt;What is &lt;em&gt;asprilo&lt;/em&gt;?&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;asprilo&lt;/strong&gt; is an benchmarking framework to study typical scenarios in intra-logistics and warehouse
automation with multiple mobile robots. It offers a concise specification of this problem domain
accompanied by a set of tools to generate benchmark instances, verify plans, as well as visualize
both instances and plans. Due to the diverse and complex nature of this domain, asprilo offers an
ideal test bed not only for modern industrial scenarios but complex dynamic problems in
general. Although, the implementation of asprilo relies on &lt;a href=&quot;https://en.wikipedia.org/wiki/Answer_set_programming&quot;&gt;answer set programming
(ASP)&lt;/a&gt; and Python, it also supports any other
approach that complies with its fact-based I/O interface.&lt;/p&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;“Full Warehouse Domain” (A-Domain)&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;“Movement-Only Domain” (M-Domain)&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=ifYKHIvdnjw&quot;&gt;&lt;img src=&quot;https://img.youtube.com/vi/ifYKHIvdnjw/0.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=GHRwpWzL0j8&quot;&gt;&lt;img src=&quot;https://img.youtube.com/vi/GHRwpWzL0j8/0.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;(&lt;em&gt;Click images for video playback&lt;/em&gt;)&lt;/p&gt;

&lt;h1 id=&quot;documentation&quot;&gt;Documentation&lt;/h1&gt;

&lt;p&gt;A detailed documentation of asprilo’s problem domain and key components can be found at &lt;a href=&quot;https://asprilo.github.io/&quot;&gt;https://asprilo.github.io/&lt;/a&gt;&lt;/p&gt;

&lt;h1 id=&quot;development&quot;&gt;Development&lt;/h1&gt;

&lt;p&gt;The source code of the project is available at &lt;a href=&quot;https://github.com/potassco/asprilo&quot;&gt;https://github.com/potassco/asprilo&lt;/a&gt;&lt;/p&gt;

&lt;h1 id=&quot;publications&quot;&gt;Publications&lt;/h1&gt;

&lt;ul&gt;
  &lt;li&gt;Gebser, M., Obermeier, P., Otto, T., Schaub, T., Sabuncu, O., Nguyen, V., &amp;amp; Son, T. C. (2018). &lt;a href=&quot;https://www.cs.uni-potsdam.de/wv/publications//#DBLP:journals/corr/abs-1804-10247&quot;&gt;Experimenting with robotic intra-logistics domains&lt;/a&gt;. &lt;em&gt;CoRR&lt;/em&gt;, abs/1804.10247. [&lt;a href=&quot;https://asprilo.github.io/experiments/#evaluation-2018-02&quot;&gt;Experiments&lt;/a&gt;]&lt;/li&gt;
  &lt;li&gt;Gebser, M., Obermeier, P., Otto, T., Schaub, T., Sabuncu, O., Nguyen, V., &amp;amp; Son, T. C. (2018). &lt;a href=&quot;https://www.cs.uni-potsdam.de/wv/publications//#DBLP:journals/tplp/GebserOOS18&quot;&gt;Experimenting with robotic intra-logistics domains&lt;/a&gt;. &lt;em&gt;TPLP&lt;/em&gt;, 18(3-4), 502–519. [&lt;a href=&quot;https://asprilo.github.io/experiments/#evaluation-2018-02&quot;&gt;Experiments&lt;/a&gt;]&lt;/li&gt;
  &lt;li&gt;Nguyen, V., Obermeier, P., Son, T. C., Schaub, T., &amp;amp; Yeoh, W. (2017). &lt;a href=&quot;https://www.cs.uni-potsdam.de/wv/publications//#DBLP:conf/ijcai/NguyenOSS017&quot;&gt;Generalized Target Assignment and Path Finding Using Answer Set Programming&lt;/a&gt;. In &lt;em&gt;IJCAI&lt;/em&gt; (pp. 1216–1223). ijcai.org.&lt;/li&gt;
&lt;/ul&gt;
</description>
        <pubDate>Tue, 20 Feb 2018 00:00:00 +0000</pubDate>
        <link>/asprilo/</link>
        <guid isPermaLink="true">/asprilo/</guid>
        
        
        <category>labs</category>
        
      </item>
    
      <item>
        <title>clingo[LP]</title>
        <description>&lt;p&gt;&lt;a href=&quot;https://github.com/potassco/clingoLP/&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;clingo[LP]&lt;/code&gt;&lt;/a&gt; extends the ASP solver &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;clingo&lt;/code&gt; with linear constraints as dealt with in Linear Programming (LP).&lt;/p&gt;

&lt;h2 id=&quot;install&quot;&gt;Install&lt;/h2&gt;

&lt;p&gt;Install via conda:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;conda install -c potassco -c conda-forge clingo-lp&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;cplex&quot;&gt;CPLEX&lt;/h2&gt;

&lt;p&gt;The clingolp propagator requires an LP solver.
The default is &lt;a href=&quot;https://sourceforge.net/projects/lpsolve/&quot;&gt;lpsolve&lt;/a&gt; but &lt;a href=&quot;https://www.ibm.com/support/knowledgecenter/SSSA5P_12.7.0/ilog.odms.cplex.help/CPLEX/GettingStarted/topics/set_up/Python_setup.html&quot;&gt;cplex&lt;/a&gt; can be used optionally.&lt;/p&gt;

&lt;p&gt;IBM also provides a promotional version of &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;cplex&lt;/code&gt; that is sufficient to solve small problems limited to 1000 variables and 1000 constraints.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;conda install -c ibmdecisionoptimization cplex&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To solve larger problems, you need to use the full version of CPLEX Studio.&lt;/p&gt;

&lt;h2 id=&quot;syntax&quot;&gt;Syntax&lt;/h2&gt;

&lt;p&gt;LP constraints can be expressed as follows:&lt;/p&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th style=&quot;text-align: left&quot;&gt;LP constraints&lt;/th&gt;
      &lt;th style=&quot;text-align: left&quot;&gt;ClingoLP Syntax&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;w&lt;sub&gt;1&lt;/sub&gt;x&lt;sub&gt;1&lt;/sub&gt;+…+w&lt;sub&gt;n&lt;/sub&gt;x&lt;sub&gt;n&lt;/sub&gt; &amp;gt;= k&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;amp;sum{&lt;/code&gt;w&lt;sub&gt;1&lt;/sub&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;*&lt;/code&gt;x&lt;sub&gt;1&lt;/sub&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;;&lt;/code&gt;…&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;;&lt;/code&gt;w&lt;sub&gt;n&lt;/sub&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;*&lt;/code&gt;x&lt;sub&gt;n&lt;/sub&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;} &amp;gt;=&lt;/code&gt; k&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;domain(x)={l,…,u}&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;amp;dom{&lt;/code&gt;l&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;..&lt;/code&gt;u&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;} =&lt;/code&gt; x&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;maximize: w&lt;sub&gt;1&lt;/sub&gt;x&lt;sub&gt;1&lt;/sub&gt;+…+w&lt;sub&gt;n&lt;/sub&gt;x&lt;sub&gt;n&lt;/sub&gt;&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;amp;maximize{&lt;/code&gt;w&lt;sub&gt;1&lt;/sub&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;*&lt;/code&gt;x&lt;sub&gt;1&lt;/sub&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;;&lt;/code&gt;…&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;;&lt;/code&gt;w&lt;sub&gt;n&lt;/sub&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;*&lt;/code&gt;x&lt;sub&gt;1&lt;/sub&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;}&lt;/code&gt; (minimize analogous)&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;To avoid syntax clashes, you must quote &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&quot;&lt;/code&gt; real numbers. Instead of &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;1.5&lt;/code&gt; write &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&quot;1.5&quot;&lt;/code&gt;.&lt;/p&gt;

&lt;h2 id=&quot;general-usage-of-clingolp&quot;&gt;General usage of clingo[LP]&lt;/h2&gt;

&lt;p&gt;Basic call:
&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;clingoLP &amp;lt;encoding&amp;gt; &amp;lt;instance&amp;gt; &amp;lt;options&amp;gt;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Example:
&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;clingoLP example_encoding.lp example_instance.lp --show-lp-solution 0&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Options
    &lt;ul&gt;
      &lt;li&gt;–show-lp-solution
        &lt;ul&gt;
          &lt;li&gt;Show LP solution and value of objective function&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;–lp-solver=cplx
        &lt;ul&gt;
          &lt;li&gt;Selects a LP solver (default lp-solver=lps)&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;–accuracy=n
        &lt;ul&gt;
          &lt;li&gt;Prints n decimal positions (default accuracy=1)&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;–epsilon=n,m
        &lt;ul&gt;
          &lt;li&gt;Set epsilon to convert lhs &amp;gt; k into lhs &amp;gt;= k+n*10&lt;sup&gt;-m&lt;/sup&gt; (default epsilon=1,3)&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;–strict
        &lt;ul&gt;
          &lt;li&gt;Enables strict semantics&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;–trace
        &lt;ul&gt;
          &lt;li&gt;Enables detailed output of theory propagation&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;–core-confl=n
        &lt;ul&gt;
          &lt;li&gt;Searches for core conflicts if at least n% of the theory atoms are decided (default core-confl=20)&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;–prop-heur=n
        &lt;ul&gt;
          &lt;li&gt;Starts a solve call of the LP solver if at least n% of the theory atoms are decided (default prop-heur=0)&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;–ilp
        &lt;ul&gt;
          &lt;li&gt;Sets the LP solver to solve an Integer Linear Programming (ILP) problem&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;All clingo options&lt;/li&gt;
      &lt;li&gt;Number of solutions controlled via clingo&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;publication&quot;&gt;Publication&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;Tomi Janhunen, Roland Kaminski, Max Ostrowski, Torsten Schaub, Sebastian Schellhorn and Philipp Wanko,
&lt;a href=&quot;https://www.cs.uni-potsdam.de/wv/publications/#DBLP:journals/tplp/JanhunenKOSWS17&quot;&gt;Clingo goes Linear Constraints over Reals and Integers&lt;/a&gt;, TPLP, 2017:
[&lt;a href=&quot;https://www.cs.uni-potsdam.de/wv/projects/clingo/experiments-clingoLC.tar.xz&quot;&gt;Experiments&lt;/a&gt;]&lt;/li&gt;
&lt;/ul&gt;
</description>
        <pubDate>Mon, 19 Jun 2017 00:00:00 +0000</pubDate>
        <link>/labs/clingoLP/</link>
        <guid isPermaLink="true">/labs/clingoLP/</guid>
        
        
        <category>labs</category>
        
      </item>
    
      <item>
        <title>clingo[DL]</title>
        <description>&lt;p&gt;The system clingo[DL] provides a seamless way to integrate a subset of the theory of linear constraints, namely difference logic, into ASP. 
It deals with constraints of the form &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;x-y&amp;lt;=k&lt;/code&gt;, where &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;x&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;y&lt;/code&gt; are integer variables and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;k&lt;/code&gt; is an integer constant. 
Despite its restriction, difference logic can be used to naturally encode timing related problems, e.g., scheduling or timetabling, 
and provides the additional advantage of being solvable in polynomial time. 
Syntactically, a difference constraint &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;x-y&amp;lt;=k&lt;/code&gt; is represented by a difference constraint atom of the form &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;amp;diff {x-y} &amp;lt;= k&lt;/code&gt;.&lt;/p&gt;

&lt;h1 id=&quot;download&quot;&gt;Download&lt;/h1&gt;

&lt;ul&gt;
  &lt;li&gt;Recent clingo[DL] releases are on github: &lt;a href=&quot;https://github.com/potassco/clingoDL/releases&quot;&gt;https://github.com/potassco/clingoDL/releases&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;The latest source is on github: &lt;a href=&quot;https://github.com/potassco/clingoDL&quot;&gt;github.com/potassco/clingoDL&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h1 id=&quot;resources&quot;&gt;Resources&lt;/h1&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/potassco/guide&quot;&gt;Potassco User Guide&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/potassco/clingoDL/tree/master/examples&quot;&gt;Advanced Examples&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h1 id=&quot;publications&quot;&gt;Publications&lt;/h1&gt;

&lt;ul&gt;
  &lt;li&gt;Tomi Janhunen, Roland Kaminski, Max Ostrowski, Torsten Schaub, Sebastian Schellhorn and Philipp Wanko,
&lt;a href=&quot;https://www.cs.uni-potsdam.de/wv/publications/#DBLP:journals/tplp/JanhunenKOSWS17&quot;&gt;Clingo goes Linear Constraints over Reals and Integers&lt;/a&gt;, TPLP, 2017:
[&lt;a href=&quot;https://www.cs.uni-potsdam.de/wv/projects/clingo/experiments-clingoLC.tar.xz&quot;&gt;Experiments&lt;/a&gt;]&lt;/li&gt;
&lt;/ul&gt;
</description>
        <pubDate>Mon, 19 Jun 2017 00:00:00 +0000</pubDate>
        <link>/labs/clingoDL/</link>
        <guid isPermaLink="true">/labs/clingoDL/</guid>
        
        
        <category>labs</category>
        
      </item>
    
      <item>
        <title>gtapf</title>
        <description>&lt;p&gt;&lt;em&gt;gtapf&lt;/em&gt; is a generalization of &lt;em&gt;Target Assignment and Path Finding (TAPF)&lt;/em&gt; planning problems for which
we propose solutions using ASP.&lt;/p&gt;

&lt;h1 id=&quot;demo&quot;&gt;Demo&lt;/h1&gt;

&lt;p&gt;A demo video in addition to our &lt;a href=&quot;#gtapf_ijca17&quot;&gt;IJCAI’17 paper&lt;/a&gt;.&lt;/p&gt;

&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/lAeMZ8LINvY&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

&lt;h1 id=&quot;publications&quot;&gt;Publications&lt;/h1&gt;

&lt;ol&gt;
  &lt;li&gt;&lt;a id=&quot;gtapf_ijca17&quot;&gt;&lt;/a&gt;Nguyen, V., Obermeier, P., Son, T., Schaub, T., Yeoh, W.: Generalized
Target Assignment and Path Finding Using Answer Set Programming. In Proceedings of the
Twenty-sixth International Joint Conference on Artificial Intelligence (IJCAI’17), 2017, to be
published. [&lt;a href=&quot;https://www.ijcai.org/proceedings/2017/0169.pdf&quot;&gt;PDF&lt;/a&gt;]&lt;/li&gt;
&lt;/ol&gt;

</description>
        <pubDate>Wed, 24 May 2017 00:00:00 +0000</pubDate>
        <link>/labs/gtapf/</link>
        <guid isPermaLink="true">/labs/gtapf/</guid>
        
        
        <category>labs</category>
        
      </item>
    
      <item>
        <title>How do aggregates work?</title>
        <description>&lt;p&gt;A sum aggregate consists of a set of elements consisting of a tuple together with a condition and a guard.
Whenever the condition of an element is true wrt an answer set, its associated tuple contributes a value to a set.
Hence, if two equal tuples have true conditions, then only one value is provided.&lt;/p&gt;

&lt;p&gt;Consider for example the program&lt;/p&gt;

&lt;div class=&quot;language-text highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{a; b; c}.

:- #sum { 2,p : a; 1,q : a
        ; 1,q : b; 2,r : b
        ; 2,r : c; 1,s : c
    } &amp;lt; 6.
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;If &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;a&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;b&lt;/code&gt; are true, the values of tuples &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;(2,p)&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;(1,q)&lt;/code&gt;, and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;(2,r)&lt;/code&gt; are summed up.
Hence, the sum aggregate evaluates to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;5&lt;/code&gt;.
Note that the value of tuple &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;(1,q)&lt;/code&gt; provided by the second and third element of the sum aggregate is counted only &lt;strong&gt;once&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;If &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;a&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;c&lt;/code&gt; are true, the values of tuples &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;(2,p)&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;(1,q)&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;(2,r)&lt;/code&gt;, and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;(1,s)&lt;/code&gt; are summed up.
Hence, the sum aggregate evaluates to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;6&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;{a, c}&lt;/code&gt; is an answer set of the program.
In fact, there are only two answer sets: &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;{a, c}&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;{a, b, c}&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Accumulation in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;#sum+&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;#min&lt;/code&gt;, and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;#max&lt;/code&gt; aggregates as well as &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;#minimize&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;#maximize&lt;/code&gt; constraints works the same.&lt;/p&gt;
</description>
        <pubDate>Thu, 20 Apr 2017 00:00:00 +0000</pubDate>
        <link>/doc/faq/2017/04/20/how-do-sum-aggregates-work.html</link>
        <guid isPermaLink="true">/doc/faq/2017/04/20/how-do-sum-aggregates-work.html</guid>
        
        
        <category>doc</category>
        
        <category>faq</category>
        
      </item>
    
      <item>
        <title>fz2aspif</title>
        <description>&lt;p&gt;fz2aspif translates &lt;a href=&quot;http://www.minizinc.org/downloads/doc-1.6/flatzinc-spec.pdf&quot;&gt;flatzinc&lt;/a&gt; files into ground aspif files to be used with &lt;a href=&quot;/clingcon/&quot;&gt;clingcon&lt;/a&gt;.
As clingcon currently only supports linear and distinct constraints,
fz2aspif provides the translation descriptions for &lt;a href=&quot;http://www.minizinc.org/software.html&quot;&gt;mzn2fzn&lt;/a&gt; here: &lt;a href=&quot;https://github.com/potassco/fz2aspif/tree/master/share/clingcon&quot;&gt;share/clingcon&lt;/a&gt;.
Use &lt;a href=&quot;http://www.minizinc.org/software.html&quot;&gt;mzn2fzn&lt;/a&gt; as described in the &lt;a href=&quot;https://github.com/potassco/fz2aspif/blob/master/README&quot;&gt;README&lt;/a&gt;
to convert minizinc csp files into flatzinc files compatible with fz2aspif.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/potassco/fz2aspif/releases&quot;&gt;Download&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        <pubDate>Fri, 02 Dec 2016 00:00:00 +0000</pubDate>
        <link>/labs/2016/12/02/fz2aspif.html</link>
        <guid isPermaLink="true">/labs/2016/12/02/fz2aspif.html</guid>
        
        
        <category>labs</category>
        
      </item>
    
      <item>
        <title>Wasp</title>
        <description>&lt;p&gt;Wasp is an ASP solver handling disjunctive logic programs under the stable model semantics. 
It combines techniques originally introduced for SAT solving with 
methods specifically designed for ASP computation.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://alviano.github.io/wasp/&quot;&gt;Link to Website&lt;/a&gt;&lt;/p&gt;
</description>
        <pubDate>Tue, 18 Oct 2016 00:00:00 +0000</pubDate>
        <link>/related/2016/10/18/wasp.html</link>
        <guid isPermaLink="true">/related/2016/10/18/wasp.html</guid>
        
        
        <category>related</category>
        
      </item>
    
  </channel>
</rss>
