Commit 7a5da87b authored by René Schöne's avatar René Schöne
Browse files

Merge remote-tracking branch 'emfer/master' into develop

- resolved some conflicts, and discarded some changes in core benchmark modules
parents 82c7717c cc987a9b
# Compiled class file
*.class
# Log file
*.log
# BlueJ files
*.ctxt
# Mobile Tools for Java (J2ME)
.mtj.tmp/
# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
*/out/
*.iml
/.idea/*
......
MIT License
Copyright (c) 2018 Fujaba Tool Suite
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
......@@ -13,6 +13,7 @@ dependencies {
compile project(':jastadd-mquat-base')
compile project(':jastadd-mquat-solver')
compile project(':jastadd-mquat-solver-ilp')
compile project(':jastadd-mquat-solver-emfer')
compile project(':jastadd-mquat-solver-simple')
compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.8.8.1'
compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.10.0'
......
......@@ -4,6 +4,7 @@ import de.tudresden.inf.st.mquat.solving.BenchmarkableSolver;
import de.tudresden.inf.st.mquat.solving.ilp.ILPDirectSolver;
import de.tudresden.inf.st.mquat.solving.ilp.ILPExternalSolver;
import de.tudresden.inf.st.mquat.solving.simple.SimpleSolver;
import uniks.EMFeRSolver;
import java.util.Map;
import java.util.function.Function;
......@@ -22,6 +23,7 @@ public class SolverFactory {
private static Map<String, BenchmarkableSolver> createAvailableSolversIfNeeded() {
if (availableSolvers == null) {
availableSolvers = Stream.of(
new EMFeRSolver(),
new ILPExternalSolver(),
new ILPDirectSolver(),
new SimpleSolver()
......
......@@ -4,7 +4,8 @@
"solvers": [
"ilp-direct"
// "ilp-external",
// "simple"
"emfer",
"simple"
],
"timeoutValue": 15,
"timeoutUnit": "MINUTES",
......
apply plugin: 'java'
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
dependencies {
compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.10.0'
compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.10.0'
compile project(':jastadd-mquat-base')
compile project(':jastadd-mquat-solver')
compile "org.eclipse.emf:org.eclipse.emf.ecore:2.9.0-v20130528-0742"
compile "org.eclipse.emf:org.eclipse.emf.common:2.9.0-v20130528-0742"
// compile "org.eclipse.emf:org.eclipse.emf.ecore.xmi:2.9.0-v20130528-0742"
compile files("./libs/libEMFER.jar",
"./libs/org.eclipse.xtext.xbase.lib_2.13.0.v20171020-0659.jar",
"./libs/com.google.guava_21.0.0.v20170206-1425.jar")
testCompile group: 'junit', name: 'junit', version: '4.12'
testCompile project(path: ':jastadd-mquat-solver', configuration: 'testArtifacts')
}
group 'de.tudresden.inf.st'
version '1.0.0-SNAPSHOT'
apply plugin: 'java'
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
dependencies {
testCompile group: 'junit', name: 'junit', version: '4.12'
}
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta http-equiv="x-ua-compatible" content="IE=edge"/>
<title>Test results - Class de.tudresden.inf.st.mquat.solving.SimpleHandwrittenTest</title>
<link href="../css/base-style.css" rel="stylesheet" type="text/css"/>
<link href="../css/style.css" rel="stylesheet" type="text/css"/>
<script src="../js/report.js" type="text/javascript"></script>
</head>
<body>
<div id="content">
<h1>Class de.tudresden.inf.st.mquat.solving.SimpleHandwrittenTest</h1>
<div class="breadcrumbs">
<a href="../index.html">all</a> &gt;
<a href="../packages/de.tudresden.inf.st.mquat.solving.html">de.tudresden.inf.st.mquat.solving</a> &gt; SimpleHandwrittenTest</div>
<div id="summary">
<table>
<tr>
<td>
<div class="summaryGroup">
<table>
<tr>
<td>
<div class="infoBox" id="tests">
<div class="counter">5</div>
<p>tests</p>
</div>
</td>
<td>
<div class="infoBox" id="failures">
<div class="counter">0</div>
<p>failures</p>
</div>
</td>
<td>
<div class="infoBox" id="ignored">
<div class="counter">0</div>
<p>ignored</p>
</div>
</td>
<td>
<div class="infoBox" id="duration">
<div class="counter">0.581s</div>
<p>duration</p>
</div>
</td>
</tr>
</table>
</div>
</td>
<td>
<div class="infoBox success" id="successRate">
<div class="percent">100%</div>
<p>successful</p>
</div>
</td>
</tr>
</table>
</div>
<div id="tabs">
<ul class="tabLinks">
<li>
<a href="#tab0">Tests</a>
</li>
<li>
<a href="#tab1">Standard output</a>
</li>
</ul>
<div id="tab0" class="tab">
<h2>Tests</h2>
<table>
<thead>
<tr>
<th>Test</th>
<th>Duration</th>
<th>Result</th>
</tr>
</thead>
<tr>
<td class="success">test_01</td>
<td>0.243s</td>
<td class="success">passed</td>
</tr>
<tr>
<td class="success">test_02</td>
<td>0.014s</td>
<td class="success">passed</td>
</tr>
<tr>
<td class="success">test_03</td>
<td>0.059s</td>
<td class="success">passed</td>
</tr>
<tr>
<td class="success">test_04</td>
<td>0.021s</td>
<td class="success">passed</td>
</tr>
<tr>
<td class="success">test_05</td>
<td>0.244s</td>
<td class="success">passed</td>
</tr>
</table>
</div>
<div id="tab1" class="tab">
<h2>Standard output</h2>
<span class="code">
<pre>Loading model DSL file 'test_01.txt'.
15:31:04.744 INFO d.t.i.s.m.s.s.SimpleSolver - found a better solution with an objective of 292427.44.
15:31:04.751 INFO d.t.i.s.m.s.s.SimpleSolver - Number of total software solutions: 6
15:31:04.751 INFO d.t.i.s.m.s.s.SimpleSolver - Number of iterated software solutions: 4
15:31:04.752 INFO d.t.i.s.m.s.s.SimpleSolver - Number of iterated solutions: 3
15:31:04.753 INFO d.t.i.s.m.s.s.SimpleSolver - Number of correct solutions: 1
15:31:04.756 DEBUG d.t.i.s.m.s.HandwrittenTestSuite - Solution:
solution {
request0 -&gt; config_0i0m0 {
compute_resource_0 -&gt; r0 {
cpu_1 -&gt; cpu0_0
}
other -&gt; config_1i0m0 {
compute_resource_0 -&gt; r1 {
cpu_1 -&gt; cpu1_0
}
}
}
}
Loading model DSL file 'test_02.txt'.
15:31:04.772 INFO d.t.i.s.m.s.s.SimpleSolver - found a better solution with an objective of 292391.04.
15:31:04.774 INFO d.t.i.s.m.s.s.SimpleSolver - Number of total software solutions: 6
15:31:04.774 INFO d.t.i.s.m.s.s.SimpleSolver - Number of iterated software solutions: 4
15:31:04.777 INFO d.t.i.s.m.s.s.SimpleSolver - Number of iterated solutions: 3
15:31:04.777 INFO d.t.i.s.m.s.s.SimpleSolver - Number of correct solutions: 1
15:31:04.778 DEBUG d.t.i.s.m.s.HandwrittenTestSuite - Solution:
solution {
request0 -&gt; config_0i0m0 {
compute_resource_0 -&gt; r0 {
cpu_1 -&gt; cpu0_0
}
other -&gt; config_1i0m0 {
compute_resource_0 -&gt; r1 {
cpu_1 -&gt; cpu1_0
}
}
}
}
Loading model DSL file 'test_03.txt'.
15:31:04.804 INFO d.t.i.s.m.s.s.SimpleSolver - found a better solution with an objective of 324731.04.
15:31:04.829 INFO d.t.i.s.m.s.s.SimpleSolver - Number of total software solutions: 18
15:31:04.829 INFO d.t.i.s.m.s.s.SimpleSolver - Number of iterated software solutions: 8
15:31:04.830 INFO d.t.i.s.m.s.s.SimpleSolver - Number of iterated solutions: 9
15:31:04.832 INFO d.t.i.s.m.s.s.SimpleSolver - Number of correct solutions: 1
15:31:04.833 DEBUG d.t.i.s.m.s.HandwrittenTestSuite - Solution:
solution {
request0 -&gt; config_0i0m0 {
compute_resource_0 -&gt; r0 {
cpu_1 -&gt; cpu0_0
}
other -&gt; config_1i0m0 {
compute_resource_0 -&gt; r1 {
cpu_1 -&gt; cpu1_0
}
}
}
request1 -&gt; config_1i0m0 {
compute_resource_0 -&gt; r2 {
cpu_1 -&gt; cpu2_0
}
}
}
Loading model DSL file 'test_04.txt'.
15:31:04.850 INFO d.t.i.s.m.s.s.SimpleSolver - found a better solution with an objective of 375166.51999999996.
15:31:04.856 INFO d.t.i.s.m.s.s.SimpleSolver - Number of total software solutions: 12
15:31:04.857 INFO d.t.i.s.m.s.s.SimpleSolver - Number of iterated software solutions: 8
15:31:04.857 INFO d.t.i.s.m.s.s.SimpleSolver - Number of iterated solutions: 9
15:31:04.858 INFO d.t.i.s.m.s.s.SimpleSolver - Number of correct solutions: 1
15:31:04.860 DEBUG d.t.i.s.m.s.HandwrittenTestSuite - Solution:
solution {
request0 -&gt; config_0i0m0 {
compute_resource_0 -&gt; r0 {
cpu_1 -&gt; cpu0_0
}
alpha -&gt; config_1i0m0 {
compute_resource_0 -&gt; r1 {
cpu_1 -&gt; cpu1_0
}
}
beta -&gt; config_2i0m0 {
compute_resource_0 -&gt; r2 {
cpu_1 -&gt; cpu2_0
}
}
}
}
Loading model DSL file 'test_05.txt'.
15:31:04.890 INFO d.t.i.s.m.s.s.SimpleSolver - found a better solution with an objective of 396486.6599999999.
15:31:04.892 INFO d.t.i.s.m.s.s.SimpleSolver - found a better solution with an objective of 396308.6599999999.
15:31:04.894 INFO d.t.i.s.m.s.s.SimpleSolver - found a better solution with an objective of 23665.660000000003.
15:31:04.897 INFO d.t.i.s.m.s.s.SimpleSolver - found a better solution with an objective of 23042.660000000003.
15:31:04.899 INFO d.t.i.s.m.s.s.SimpleSolver - found a better solution with an objective of 22864.660000000003.
15:31:04.910 INFO d.t.i.s.m.s.s.SimpleSolver - found a better solution with an objective of 22699.660000000003.
15:31:04.925 INFO d.t.i.s.m.s.s.SimpleSolver - found a better solution with an objective of 22097.66.
15:31:04.930 INFO d.t.i.s.m.s.s.SimpleSolver - found a better solution with an objective of 21919.66.
15:31:05.002 INFO d.t.i.s.m.s.s.SimpleSolver - found a better solution with an objective of 21885.66.
15:31:05.058 INFO d.t.i.s.m.s.s.SimpleSolver - Number of total software solutions: 192
15:31:05.059 INFO d.t.i.s.m.s.s.SimpleSolver - Number of iterated software solutions: 8
15:31:05.061 INFO d.t.i.s.m.s.s.SimpleSolver - Number of iterated solutions: 1584
15:31:05.062 INFO d.t.i.s.m.s.s.SimpleSolver - Number of correct solutions: 360
15:31:05.067 DEBUG d.t.i.s.m.s.HandwrittenTestSuite - Solution:
solution {
request0 -&gt; configA0 {
compute_resource_0 -&gt; r0 {
cpu_1 -&gt; cpu0_0
}
beta -&gt; configB0 {
compute_resource_0 -&gt; r1 {
cpu_1 -&gt; cpu1_0
}
chi -&gt; configC0 {
compute_resource_0 -&gt; r4 {
cpu_1 -&gt; cpu0_0
}
}
delta -&gt; configD0 {
compute_resource_0 -&gt; r3 {
cpu_1 -&gt; cpu0_0
}
}
}
epsilon -&gt; configE0 {
compute_resource_0 -&gt; r2 {
cpu_1 -&gt; cpu2_0
}
phi -&gt; configF0 {
compute_resource_0 -&gt; r5 {
cpu_1 -&gt; cpu0_0
}
}
gamma -&gt; configG0 {
compute_resource_0 -&gt; r6 {
cpu_1 -&gt; cpu0_0
}
}
}
}
}
</pre>
</span>
</div>
</div>
<div id="footer">
<p>
<div>
<label class="hidden" id="label-for-line-wrapping-toggle" for="line-wrapping-toggle">Wrap lines
<input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
</label>
</div>Generated by
<a href="http://www.gradle.org">Gradle 3.3</a> at 12.05.2018 15:31:06</p>
</div>
</div>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta http-equiv="x-ua-compatible" content="IE=edge"/>
<title>Test results - Class de.tudresden.inf.st.mquat.solving.SimpleSolverTest</title>
<link href="../css/base-style.css" rel="stylesheet" type="text/css"/>
<link href="../css/style.css" rel="stylesheet" type="text/css"/>
<script src="../js/report.js" type="text/javascript"></script>
</head>
<body>
<div id="content">
<h1>Class de.tudresden.inf.st.mquat.solving.SimpleSolverTest</h1>
<div class="breadcrumbs">
<a href="../index.html">all</a> &gt;
<a href="../packages/de.tudresden.inf.st.mquat.solving.html">de.tudresden.inf.st.mquat.solving</a> &gt; SimpleSolverTest</div>
<div id="summary">
<table>
<tr>
<td>
<div class="summaryGroup">
<table>
<tr>
<td>
<div class="infoBox" id="tests">
<div class="counter">1</div>
<p>tests</p>
</div>
</td>
<td>
<div class="infoBox" id="failures">
<div class="counter">0</div>
<p>failures</p>
</div>
</td>
<td>
<div class="infoBox" id="ignored">
<div class="counter">0</div>
<p>ignored</p>
</div>
</td>
<td>
<div class="infoBox" id="duration">
<div class="counter">0.881s</div>
<p>duration</p>
</div>
</td>
</tr>
</table>
</div>
</td>
<td>
<div class="infoBox success" id="successRate">
<div class="percent">100%</div>
<p>successful</p>
</div>
</td>
</tr>
</table>
</div>
<div id="tabs">
<ul class="tabLinks">
<li>
<a href="#tab0">Tests</a>
</li>
<li>
<a href="#tab1">Standard output</a>
</li>
</ul>
<div id="tab0" class="tab">
<h2>Tests</h2>
<table>
<thead>
<tr>
<th>Test</th>
<th>Duration</th>
<th>Result</th>
</tr>
</thead>
<tr>
<td class="success">testSimpleSolver</td>
<td>0.881s</td>
<td class="success">passed</td>
</tr>
</table>
</div>
<div id="tab1" class="tab">
<h2>Standard output</h2>
<span class="code">
<pre>15:31:05.159 INFO d.t.i.s.m.s.s.SimpleSolver - found a better solution with an objective of 523393.9.
15:31:05.201 INFO d.t.i.s.m.s.s.SimpleSolver - found a better solution with an objective of 523267.42000000004.
15:31:06.008 INFO d.t.i.s.m.s.s.SimpleSolver - Number of total software solutions: 1
15:31:06.009 INFO d.t.i.s.m.s.s.SimpleSolver - Number of iterated software solutions: 1
15:31:06.010 INFO d.t.i.s.m.s.s.SimpleSolver - Number of iterated solutions: 10148
15:31:06.010 INFO d.t.i.s.m.s.s.SimpleSolver - Number of correct solutions: 3456
15:31:06.012 INFO d.t.i.s.m.s.SimpleSolverTest - the best solution is valid and has an objective of 523267.42000000004.
</pre>
</span>
</div>
</div>
<div id="footer">
<p>
<div>
<label class="hidden" id="label-for-line-wrapping-toggle" for="line-wrapping-toggle">Wrap lines
<input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
</label>
</div>Generated by
<a href="http://www.gradle.org">Gradle 3.3</a> at 12.05.2018 15:31:06</p>
</div>
</div>
</body>
</html>
body {
margin: 0;
padding: 0;
font-family: sans-serif;
font-size: 12pt;
}
body, a, a:visited {
color: #303030;
}
#content {
padding-left: 50px;
padding-right: 50px;
padding-top: 30px;
padding-bottom: 30px;
}
#content h1 {
font-size: 160%;
margin-bottom: 10px;
}
#footer {
margin-top: 100px;
font-size: 80%;
white-space: nowrap;
}
#footer, #footer a {
color: #a0a0a0;
}
#line-wrapping-toggle {
vertical-align: middle;
}
#label-for-line-wrapping-toggle {
vertical-align: middle;
}
ul {
margin-left: 0;
}
h1, h2, h3 {
white-space: nowrap;
}
h2 {
font-size: 120%;
}
ul.tabLinks {
padding-left: 0;
padding-top: 10px;
padding-bottom: 10px;
overflow: auto;
min-width: 800px;
width: auto !important;
width: 800px;
}
ul.tabLinks li {
float: left;
height: 100%;