<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Hybrid Planning by Combining SMT and Simulated ⋆ Annealing</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Extended Abstract</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jaroslaw Skaruz</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Artur Niewiadomski</string-name>
          <email>artur.niewiadomski@uph.edu.pl</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Wojciech Penczek</string-name>
          <email>wpenczek@gmail.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Institute of Computer Science, PAN Warsaw and Siedlce University</institution>
          ,
          <country country="PL">Poland</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Institute of Computer Science, Siedlce University</institution>
          ,
          <country country="PL">Poland</country>
        </aff>
      </contrib-group>
      <fpage>173</fpage>
      <lpage>176</lpage>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        We present a new approach to the concrete planning (CP) shown to be a NP-hard
problem [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. This is the third stage of Web service composition (WSC) in the PlanICS
framework [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. The first two phases, namely an abstract planning and offer collecting, basing
on an ontology, a user query, and a service registry provide data necessary for CP. A
new hybrid algorithm (HSA), which combines Simulated Annealing (SA) [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] with
Satisfiability Modulo Theories (SMT) [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], has been designed and implemented. The main
idea of our hybrid solution relies upon generating an initial individual by an SMT-based
procedure. Then, in the subsequent iterations of SA, the individual is improved. The
experimental results show that HSA is superior to the other methods we have applied to
the CP problem, including these based on Genetic Algorithm (GA) [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], SMT used
separately [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], and SMT combined into the hybrid algorithms RH and SRH [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], as well
as the IPH algorithm [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
      </p>
      <p>Our direct motivation to develop hybrid algorithms is based on the observation that
every method applied separately to WSC yields fair results, but suffers from some
disadvantages. While the SMT-based algorithm is able to find always the optimal solution,
its main problem is a long execution time and large memory consumption. On the other
hand the evolutionary methods are quick and demand less resources, but at the price of
the quality and a lower probability of finding solutions. We are aiming at combining the
algorithms in order to get a trade-off between speed and quality.</p>
      <p>Recently, we have developed three planning methods based on joining GA and
SMT: RH (Random Hybrid), SRH (Semi-Random Hybrid), and IPH (Initial
Population Hybrid). The first two algorithms run alternately several iterations of GA and the
SMT-based procedure which is aimed at improving the best individuals of a GA
population. The IPH algorithm makes use of an SMT-based procedure in order to generate
(a part of) the initial population meeting the given constraints, and then the individuals
are improved by GA. The experiments have shown that the latter method is superior
in most cases, thus we have chosen this scheme to be used in further investigations.
⋆ This work has been supported by the National Science Centre under the grant No.</p>
      <p>2011/01/B/ST6/01477.
After replacing GA by SA (and introducing several necessary technical modifications)
we have obtained the HSA algorithm which seems to be the best one so far.</p>
      <p>
        The problems similar to CP have been intensively studied in the last decade. In [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]
the authors use two algorithms to deal with WSC, namely GA and SA. Experiments
show better quality of the solutions found by SA comparing to GA, but at the price of
a higher computation time and lower scalability. On the other hand, hybrid algorithms
for WSC are also known in the literature, see e.g., [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], where a modified version of the
Particle Swarm Optimization algorithm is used.
      </p>
      <p>Next, we present our solution followed by experimental results and conclusions.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Solution</title>
      <p>
        First, we briefly recall the formulation of CP as a constrained optimization problem. We
focus here on the intuitions only, but all the formal definitions can be found in [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
      </p>
      <p>The input for the concrete planning consists of n offer sets and a set of constraints.
Each offer from a particular set is a tuple of values corresponding to attributes of objects
being processed by services. Overall, a solution of CP consists in selecting one offer
from each offer set, such that all the constraints are satisfied and the value of the quality
function Q (given as a part of a user query) is maximized.</p>
      <p>Algorithm. SA is an optimisation technique based on an observation of the physical
process of annealing in metallurgy, i.e., a technique of heating and slow cooling of a
material in order to improve its properties. SA implements the cooling process as a slow
decrease in the probability of accepting worse solutions while the algorithm explores
the search space. In SA, our “processed material” is a potential solution of a problem,
called an individual. The space exploration is realised by applying a neighbourhood
operator to the individual, which results in obtaining a new potential solution. In our
case, the individual is a sequence of natural values representing offer indices, while the
neighbourhood operator changes one value randomly.</p>
      <p>
        It is quite hard to force SA to search for better solutions with the constraints
satisfied, because employing standard mechanisms like penalty functions known from GA
is problematic. Thus, our algorithm applies an SMT-based procedure (similar to the one
described in [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]) to generate an initial individual which satisfies all constraints, and the
next steps of our hybrid algorithm are similar to those of a standard SA. The main
difference is that new individuals may be accepted provided that all constraints are still
satisfied. Since an initial individual is already a solution (usually of a low quality), the
HSA algorithm always returns a result, and the objective is to increase the value of the
quality function.
      </p>
      <p>
        Experiments. We have evaluated the efficiency of HSA using the same six benchmarks
as in the papers [
        <xref ref-type="bibr" rid="ref10 ref9">10, 9</xref>
        ]. All the instances represent plans of length 15. Each offer set
of Instance 1, 3, and 5 contains 256 offers, which makes the number of the potential
solutions equal to 25615 = 2120. In the case of Instance 2, 4, and 6, each offer set
consists of 512 offers, which results in the search space size as large as 51215 = 2135.
      </p>
      <p>In Table 1 we compare the performance of HSA with our previous results. The
first column contains the instance number, while the next columns present computation
times and the quality function values of the solutions found with our different methods:
HSA, IPH (in two variants - with 1 and 500 individuals generated by SMT), and
nonhybrid ones: SMT and GA. The HSA algorithm is the fastest one and finds solutions of
reasonable quality. It has to be mentioned that all the presented methods return solutions
with 100% probability, except for GA, where the probability is much lower: from 7%
to 12%.
We have presented a new approach to concrete planning. An SMT-based procedure is
employed for generating an initial individual of the SA algorithm. Such an individual
is already a solution because it satisfies all the constraints. During the next steps of our
algorithm the individual is improved in order to find a concrete plan having a greater
value of the quality function. The experiments confirm that HSA is efficient, since the
results are better than those obtained by all our former algorithms, including the hybrid
ones.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1. et al.,
          <string-name>
            <surname>D</surname>
          </string-name>
          .D.:
          <article-title>PlanICS - a web service compositon toolset</article-title>
          .
          <source>Fundam. Inform</source>
          .
          <volume>112</volume>
          (
          <issue>1</issue>
          ),
          <fpage>47</fpage>
          -
          <lpage>71</lpage>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Arockiam</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sasikaladevi</surname>
          </string-name>
          , N.:
          <article-title>Simulated annealing versus genetic based service selection algorithms</article-title>
          .
          <source>International Journal of u- and e- Service, Science and Technology</source>
          <volume>5</volume>
          ,
          <fpage>35</fpage>
          -
          <lpage>49</lpage>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>De Moura</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bjørner</surname>
          </string-name>
          , N.:
          <article-title>Satisfiability modulo theories: Introduction and applications</article-title>
          .
          <source>Commun. ACM</source>
          <volume>54</volume>
          (
          <issue>9</issue>
          ),
          <fpage>69</fpage>
          -
          <lpage>77</lpage>
          (
          <year>Sep 2011</year>
          ), http://doi.acm.
          <source>org/10</source>
          .1145/ 1995376.1995394
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Goldberg</surname>
          </string-name>
          , D.E.:
          <article-title>Genetic Algorithms in Search, Optimization and Machine Learning</article-title>
          .
          <string-name>
            <surname>Addison-Wesley Longman</surname>
          </string-name>
          Publishing Co., Inc., Boston, MA, USA, 1st edn. (
          <year>1989</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Hu</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chen</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Liang</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          :
          <article-title>Dynamic services selection algorithm in web services composition supporting cross-enterprises collaboration</article-title>
          .
          <source>Journal of Central South University of Technology 16</source>
          ,
          <fpage>269</fpage>
          -
          <lpage>274</lpage>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Kirkpatrick</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jr</surname>
            ,
            <given-names>C.G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vecchi</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Optimization by simulated annealing</article-title>
          .
          <source>Sci</source>
          .
          <volume>220</volume>
          ,
          <fpage>671</fpage>
          -
          <lpage>680</lpage>
          (
          <year>1983</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Niewiadomski</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Penczek</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Skaruz</surname>
            ,
            <given-names>J.:</given-names>
          </string-name>
          <article-title>SMT vs genetic algorithms: Concrete planning in PlanICS framework</article-title>
          . In: CS&amp;P. pp.
          <fpage>309</fpage>
          -
          <lpage>321</lpage>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Niewiadomski</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Penczek</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Skaruz</surname>
            ,
            <given-names>J.:</given-names>
          </string-name>
          <article-title>Combining Genetic Algorithm and SMT into Hybrid Approaches to Web Service Composition Problem</article-title>
          .
          <source>Int. Journal On Advances in Software</source>
          <volume>7</volume>
          (
          <issue>3</issue>
          , 4),
          <fpage>675</fpage>
          -
          <lpage>685</lpage>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Niewiadomski</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Penczek</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Skaruz</surname>
            ,
            <given-names>J.:</given-names>
          </string-name>
          <article-title>A hybrid approach to web service composition problem in the PlanICS framework</article-title>
          . In: Awan,
          <string-name>
            <given-names>I.</given-names>
            ,
            <surname>Younas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Franch</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            ,
            <surname>Quer</surname>
          </string-name>
          , C. (eds.)
          <source>Mobile Web Information Systems, Lecture Notes in Computer Science</source>
          , vol.
          <volume>8640</volume>
          , pp.
          <fpage>17</fpage>
          -
          <lpage>28</lpage>
          . Springer International Publishing (
          <year>2014</year>
          ), http://dx.doi.org/10.1007/978- 3-
          <fpage>319</fpage>
          -10359-4\_
          <fpage>2</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Niewiadomski</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Penczek</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Skaruz</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Szreter</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jarocki</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>SMT versus Genetic and OpenOpt Algorithms: Concrete Planning in the PlanICS Framework</article-title>
          .
          <source>Fundamenta Informaticae</source>
          <volume>135</volume>
          (
          <issue>4</issue>
          ),
          <fpage>451</fpage>
          -
          <lpage>466</lpage>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>