Commit de4a61cf authored by Sebastian Schwarz's avatar Sebastian Schwarz
Browse files

Merge branch 'master' into 'development'

developments based on v1.0.2

See merge request !43
parents 15fa3ce0 e29cfe02
Pipeline #512300 passed with stages
in 9 minutes and 25 seconds
......@@ -74,7 +74,7 @@ lint:
- tail -n 2 $CI_PROJECT_DIR/gitlab-utils/pylint_report.txt
- mv $CI_PROJECT_DIR/gitlab-utils/pylint_report.txt lint
artifacts:
name: "pylint-report"
name: "pycity_scheduling-pylint-report-$CI_COMMIT_SHORT_SHA"
paths:
- lint
expire_in: 4 weeks
......@@ -83,24 +83,27 @@ lint:
- docker
doc:
docs:
stage: deploy
rules:
- if: '$CI_COMMIT_BRANCH == "master" || $CI_COMMIT_TAG =~ /^v/'
image: ${DOCKER_IMAGE}
script:
- mkdir -p doc
- mkdir -p docs
- rm -rf docs/*
- ln -s $CI_PROJECT_DIR/LICENSE.txt $CI_PROJECT_DIR/src/LICENSE.txt
- ln -s $CI_PROJECT_DIR/README.md $CI_PROJECT_DIR/src/README.md
- python3.6 -m pip install --no-cache-dir $CI_PROJECT_DIR/src/.
- bash $CI_PROJECT_DIR/gitlab-utils/sphinx_doc/docu.sh
- mv $CI_PROJECT_DIR/gitlab-utils/sphinx_doc/_build/html/* doc
- mv $CI_PROJECT_DIR/gitlab-utils/sphinx_doc/_build/html/* docs
artifacts:
name: "pycity_scheduling-documentation-sphinx"
name: "pycity_scheduling-docs-$CI_COMMIT_SHORT_SHA"
paths:
- doc
- docs
expire_in: 365 days
when: always
tags:
- docker
pages:
......
......@@ -28,14 +28,17 @@ pycity_scheduling requires at least the following Python packages:
- pyomo==6.0.0
- Shapely==1.7.1
- pycity_base==0.3.2
- pytest==6.2.4 (optional)
- pylint (optional)
- sphinx (optional)
- numpydoc (optional)
- pytest (optional)
as well as the installation of at least one mathematical programming solver for convex and/or non-convex problems, which is supported by the [Pyomo](http://www.pyomo.org/) optimisation modelling library.
We recommend one of the following solvers:
- [SCIP](https://www.scipopt.org/) (default)
- [SCIP](https://www.scipopt.org/)
- [bonmin](https://github.com/coin-or/Bonmin)
- [Gurobi (gurobipy)](https://www.gurobi.com/products/gurobi-optimizer/)
- [Gurobi (gurobipy)](https://www.gurobi.com/products/gurobi-optimizer/) (default)
- [IBM ILOG CPLEX](https://www.ibm.com/products/ilog-cplex-optimization-studio)
......@@ -43,7 +46,7 @@ We recommend one of the following solvers:
The latest version of pycity_scheduling is v1.0.2.
If all the abovementioned dependencies are installed, you should be able to install package pycity_scheduling via [PyPI](https://pypi.org/) (using Python 3.X) as follows:
If all the abovementioned dependencies are installed, you should be able to install package pycity_scheduling via [PyPI](https://pypi.org/) (using Python version >= 3.6) as follows:
`pip install pycity_scheduling`
......@@ -271,9 +274,11 @@ if __name__ == '__main__':
## Tutorial
The pycity_scheduling package comes with several example/tutorial scripts in folder ./src/examples.
The unit tests can be found in folder ./src/testing.
Also see the pycity_base package's tutorials for the basic usage of the framework's core functionalities.
Moreover, also check the pycity_base package's tutorials for the basic usage of the framework's core functionalities.
## License
......
......@@ -4,7 +4,7 @@
*
* Sphinx stylesheet -- basic theme.
*
* :copyright: Copyright 2007-2020 by the Sphinx team, see AUTHORS.
* :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS.
* :license: BSD, see LICENSE for details.
*
*/
......@@ -130,7 +130,7 @@ ul.search li a {
font-weight: bold;
}
ul.search li div.context {
ul.search li p.context {
color: #888;
margin: 2px 0 0 30px;
text-align: left;
......@@ -277,25 +277,25 @@ p.rubric {
font-weight: bold;
}
img.align-left, .figure.align-left, object.align-left {
img.align-left, figure.align-left, .figure.align-left, object.align-left {
clear: left;
float: left;
margin-right: 1em;
}
img.align-right, .figure.align-right, object.align-right {
img.align-right, figure.align-right, .figure.align-right, object.align-right {
clear: right;
float: right;
margin-left: 1em;
}
img.align-center, .figure.align-center, object.align-center {
img.align-center, figure.align-center, .figure.align-center, object.align-center {
display: block;
margin-left: auto;
margin-right: auto;
}
img.align-default, .figure.align-default {
img.align-default, figure.align-default, .figure.align-default {
display: block;
margin-left: auto;
margin-right: auto;
......@@ -319,7 +319,8 @@ img.align-default, .figure.align-default {
/* -- sidebars -------------------------------------------------------------- */
div.sidebar {
div.sidebar,
aside.sidebar {
margin: 0 0 0.5em 1em;
border: 1px solid #ddb;
padding: 7px;
......@@ -377,12 +378,14 @@ div.body p.centered {
/* -- content of sidebars/topics/admonitions -------------------------------- */
div.sidebar > :last-child,
aside.sidebar > :last-child,
div.topic > :last-child,
div.admonition > :last-child {
margin-bottom: 0;
}
div.sidebar::after,
aside.sidebar::after,
div.topic::after,
div.admonition::after,
blockquote::after {
......@@ -455,20 +458,22 @@ td > :last-child {
/* -- figures --------------------------------------------------------------- */
div.figure {
div.figure, figure {
margin: 0.5em;
padding: 0.5em;
}
div.figure p.caption {
div.figure p.caption, figcaption {
padding: 0.3em;
}
div.figure p.caption span.caption-number {
div.figure p.caption span.caption-number,
figcaption span.caption-number {
font-style: italic;
}
div.figure p.caption span.caption-text {
div.figure p.caption span.caption-text,
figcaption span.caption-text {
}
/* -- field list styles ----------------------------------------------------- */
......@@ -503,6 +508,63 @@ table.hlist td {
vertical-align: top;
}
/* -- object description styles --------------------------------------------- */
.sig {
font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace;
}
.sig-name, code.descname {
background-color: transparent;
font-weight: bold;
}
.sig-name {
font-size: 1.1em;
}
code.descname {
font-size: 1.2em;
}
.sig-prename, code.descclassname {
background-color: transparent;
}
.optional {
font-size: 1.3em;
}
.sig-paren {
font-size: larger;
}
.sig-param.n {
font-style: italic;
}
/* C++ specific styling */
.sig-inline.c-texpr,
.sig-inline.cpp-texpr {
font-family: unset;
}
.sig.c .k, .sig.c .kt,
.sig.cpp .k, .sig.cpp .kt {
color: #0033B3;
}
.sig.c .m,
.sig.cpp .m {
color: #1750EB;
}
.sig.c .s, .sig.c .sc,
.sig.cpp .s, .sig.cpp .sc {
color: #067D17;
}
/* -- other body styles ----------------------------------------------------- */
......@@ -629,14 +691,6 @@ dl.glossary dt {
font-size: 1.1em;
}
.optional {
font-size: 1.3em;
}
.sig-paren {
font-size: larger;
}
.versionmodified {
font-style: italic;
}
......@@ -766,7 +820,11 @@ div.code-block-caption code {
table.highlighttable td.linenos,
span.linenos,
div.doctest > div.highlight span.gp { /* gp: Generic.Prompt */
user-select: none;
user-select: none;
-webkit-user-select: text; /* Safari fallback only */
-webkit-user-select: none; /* Chrome/Safari */
-moz-user-select: none; /* Firefox */
-ms-user-select: none; /* IE10+ */
}
div.code-block-caption span.caption-number {
......@@ -781,16 +839,6 @@ div.literal-block-wrapper {
margin: 1em 0;
}
code.descname {
background-color: transparent;
font-weight: bold;
font-size: 1.2em;
}
code.descclassname {
background-color: transparent;
}
code.xref, a code {
background-color: transparent;
font-weight: bold;
......
......@@ -4,7 +4,7 @@
*
* Sphinx stylesheet -- classic theme.
*
* :copyright: Copyright 2007-2020 by the Sphinx team, see AUTHORS.
* :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS.
* :license: BSD, see LICENSE for details.
*
*/
......
......@@ -4,7 +4,7 @@
*
* Sphinx JavaScript utilities for all documentation.
*
* :copyright: Copyright 2007-2020 by the Sphinx team, see AUTHORS.
* :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS.
* :license: BSD, see LICENSE for details.
*
*/
......@@ -29,9 +29,14 @@ if (!window.console || !console.firebug) {
/**
* small helper function to urldecode strings
*
* See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent#Decoding_query_parameters_from_a_URL
*/
jQuery.urldecode = function(x) {
return decodeURIComponent(x).replace(/\+/g, ' ');
if (!x) {
return x
}
return decodeURIComponent(x.replace(/\+/g, ' '));
};
/**
......
......@@ -5,7 +5,7 @@
* This script contains the language-specific data used by searchtools.js,
* namely the list of stopwords, stemmer, scorer and splitter.
*
* :copyright: Copyright 2007-2020 by the Sphinx team, see AUTHORS.
* :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS.
* :license: BSD, see LICENSE for details.
*
*/
......@@ -13,7 +13,8 @@
var stopwords = ["a","and","are","as","at","be","but","by","for","if","in","into","is","it","near","no","not","of","on","or","such","that","the","their","then","there","these","they","this","to","was","will","with"];
/* Non-minified version JS is _stemmer.js if file is provided */
/* Non-minified version is copied as a separate JS file, is available */
/**
* Porter Stemmer
*/
......@@ -199,7 +200,6 @@ var Stemmer = function() {
var splitChars = (function() {
var result = {};
var singles = [96, 180, 187, 191, 215, 247, 749, 885, 903, 907, 909, 930, 1014, 1648,
......
pre { line-height: 125%; margin: 0; }
td.linenos pre { color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px; }
span.linenos { color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px; }
td.linenos pre.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #ffffcc }
.highlight { background: #eeffcc; }
......
......@@ -4,7 +4,7 @@
*
* Sphinx JavaScript utilities for the full-text search.
*
* :copyright: Copyright 2007-2020 by the Sphinx team, see AUTHORS.
* :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS.
* :license: BSD, see LICENSE for details.
*
*/
......@@ -248,7 +248,7 @@ var Search = {
// results left, load the summary and display it
if (results.length) {
var item = results.pop();
var listItem = $('<li style="display:none"></li>');
var listItem = $('<li></li>');
var requestUrl = "";
var linkUrl = "";
if (DOCUMENTATION_OPTIONS.BUILDER === 'dirhtml') {
......@@ -273,9 +273,9 @@ var Search = {
if (item[3]) {
listItem.append($('<span> (' + item[3] + ')</span>'));
Search.output.append(listItem);
listItem.slideDown(5, function() {
setTimeout(function() {
displayNextItem();
});
}, 5);
} else if (DOCUMENTATION_OPTIONS.HAS_SOURCE) {
$.ajax({url: requestUrl,
dataType: "text",
......@@ -285,16 +285,16 @@ var Search = {
listItem.append(Search.makeSearchSummary(data, searchterms, hlterms));
}
Search.output.append(listItem);
listItem.slideDown(5, function() {
setTimeout(function() {
displayNextItem();
});
}, 5);
}});
} else {
// no source available, just display title
Search.output.append(listItem);
listItem.slideDown(5, function() {
setTimeout(function() {
displayNextItem();
});
}, 5);
}
}
// search finished, update title and status message
......@@ -379,6 +379,13 @@ var Search = {
return results;
},
/**
* See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions
*/
escapeRegExp : function(string) {
return string.replace(/[.*+\-?^${}()|[\]\\]/g, '\\$&'); // $& means the whole matched string
},
/**
* search for full-text terms in the index
*/
......@@ -402,13 +409,14 @@ var Search = {
];
// add support for partial matches
if (word.length > 2) {
var word_regex = this.escapeRegExp(word);
for (var w in terms) {
if (w.match(word) && !terms[word]) {
if (w.match(word_regex) && !terms[word]) {
_o.push({files: terms[w], score: Scorer.partialTerm})
}
}
for (var w in titleterms) {
if (w.match(word) && !titleterms[word]) {
if (w.match(word_regex) && !titleterms[word]) {
_o.push({files: titleterms[w], score: Scorer.partialTitle})
}
}
......@@ -501,7 +509,7 @@ var Search = {
var excerpt = ((start > 0) ? '...' : '') +
$.trim(text.substr(start, 240)) +
((start + 240 - text.length) ? '...' : '');
var rv = $('<div class="context"></div>').text(excerpt);
var rv = $('<p class="context"></p>').text(excerpt);
$.each(hlwords, function() {
rv = rv.highlightText(this, 'highlighted');
});
......
......@@ -16,7 +16,7 @@
* Once the browser is closed the cookie is deleted and the position
* reset to the default (expanded).
*
* :copyright: Copyright 2007-2020 by the Sphinx team, see AUTHORS.
* :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS.
* :license: BSD, see LICENSE for details.
*
*/
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -5,17 +5,14 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Index &#8212; pycity_scheduling v1.0.1 documentation</title>
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="_static/classic.css" type="text/css" />
<title>Index &#8212; pycity_scheduling v1.0.2 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/classic.css" />
<script id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
<script src="_static/jquery.js"></script>
<script src="_static/underscore.js"></script>
<script src="_static/doctools.js"></script>
<script src="_static/language_data.js"></script>
<script async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/latest.js?config=TeX-AMS-MML_HTMLorMML"></script>
<script type="text/x-mathjax-config">MathJax.Hub.Config({"extensions": ["tex2jax.js"], "jax": ["input/TeX", "output/HTML-CSS"]})</script>
<link rel="index" title="Index" href="#" />
<link rel="search" title="Search" href="search.html" />
......@@ -29,7 +26,7 @@
<li class="right" >
<a href="py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">pycity_scheduling v1.0.1 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="index.html">pycity_scheduling v1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">Index</a></li>
</ul>
</div>
......@@ -210,13 +207,13 @@
<li><a href="pycity_scheduling.classes.html#pycity_scheduling.classes.prices.Prices.da_price_cache">(pycity_scheduling.classes.prices.Prices attribute)</a>
</li>
</ul></li>
<li><a href="pycity_scheduling.classes.html#pycity_scheduling.classes.Timer.date">date() (pycity_scheduling.classes.Timer property)</a>
<li><a href="pycity_scheduling.classes.html#pycity_scheduling.classes.Timer.date">date (pycity_scheduling.classes.Timer property)</a>
<ul>
<li><a href="pycity_scheduling.classes.html#pycity_scheduling.classes.timer.Timer.date">(pycity_scheduling.classes.timer.Timer property)</a>
</li>
</ul></li>
<li><a href="pycity_scheduling.classes.html#pycity_scheduling.classes.Timer.datetime">datetime() (pycity_scheduling.classes.Timer property)</a>
<li><a href="pycity_scheduling.classes.html#pycity_scheduling.classes.Timer.datetime">datetime (pycity_scheduling.classes.Timer property)</a>
<ul>
<li><a href="pycity_scheduling.classes.html#pycity_scheduling.classes.timer.Timer.datetime">(pycity_scheduling.classes.timer.Timer property)</a>
......@@ -224,7 +221,7 @@
</ul></li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="pycity_scheduling.classes.html#pycity_scheduling.classes.Timer.day">day() (pycity_scheduling.classes.Timer property)</a>
<li><a href="pycity_scheduling.classes.html#pycity_scheduling.classes.Timer.day">day (pycity_scheduling.classes.Timer property)</a>
<ul>
<li><a href="pycity_scheduling.classes.html#pycity_scheduling.classes.timer.Timer.day">(pycity_scheduling.classes.timer.Timer property)</a>
......@@ -412,7 +409,7 @@
</ul></li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="pycity_scheduling.classes.html#pycity_scheduling.classes.Timer.hour">hour() (pycity_scheduling.classes.Timer property)</a>
<li><a href="pycity_scheduling.classes.html#pycity_scheduling.classes.Timer.hour">hour (pycity_scheduling.classes.Timer property)</a>
<ul>
<li><a href="pycity_scheduling.classes.html#pycity_scheduling.classes.timer.Timer.hour">(pycity_scheduling.classes.timer.Timer property)</a>
......@@ -424,7 +421,7 @@
<h2 id="I">I</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="pycity_scheduling.classes.html#pycity_scheduling.classes.Timer.is_leap">is_leap() (pycity_scheduling.classes.Timer property)</a>
<li><a href="pycity_scheduling.classes.html#pycity_scheduling.classes.Timer.is_leap">is_leap (pycity_scheduling.classes.Timer property)</a>
<ul>
<li><a href="pycity_scheduling.classes.html#pycity_scheduling.classes.timer.Timer.is_leap">(pycity_scheduling.classes.timer.Timer property)</a>
......@@ -474,7 +471,7 @@
</li>
<li><a href="pycity_scheduling.util.html#pycity_scheduling.util.metric.metric_delta_g">metric_delta_g() (in module pycity_scheduling.util.metric)</a>
</li>
<li><a href="pycity_scheduling.classes.html#pycity_scheduling.classes.Timer.minute">minute() (pycity_scheduling.classes.Timer property)</a>
<li><a href="pycity_scheduling.classes.html#pycity_scheduling.classes.Timer.minute">minute (pycity_scheduling.classes.Timer property)</a>
<ul>
<li><a href="pycity_scheduling.classes.html#pycity_scheduling.classes.timer.Timer.minute">(pycity_scheduling.classes.timer.Timer property)</a>
......@@ -589,7 +586,7 @@
</ul></li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="pycity_scheduling.classes.html#pycity_scheduling.classes.Timer.month">month() (pycity_scheduling.classes.Timer property)</a>
<li><a href="pycity_scheduling.classes.html#pycity_scheduling.classes.Timer.month">month (pycity_scheduling.classes.Timer property)</a>
<ul>
<li><a href="pycity_scheduling.classes.html#pycity_scheduling.classes.timer.Timer.month">(pycity_scheduling.classes.timer.Timer property)</a>
......@@ -643,19 +640,19 @@
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="pycity_scheduling.algorithms.html#pycity_scheduling.algorithms.algorithm.SolverNode.obj_update">obj_update() (pycity_scheduling.algorithms.algorithm.SolverNode method)</a>
</li>
<li><a href="pycity_scheduling.classes.html#pycity_scheduling.classes.optimization_entity.OptimizationEntity.op_horizon">op_horizon() (pycity_scheduling.classes.optimization_entity.OptimizationEntity property)</a>
<li><a href="pycity_scheduling.classes.html#pycity_scheduling.classes.optimization_entity.OptimizationEntity.op_horizon">op_horizon (pycity_scheduling.classes.optimization_entity.OptimizationEntity property)</a>
<ul>
<li><a href="pycity_scheduling.classes.html#pycity_scheduling.classes.OptimizationEntity.op_horizon">(pycity_scheduling.classes.OptimizationEntity property)</a>
</li>
</ul></li>
<li><a href="pycity_scheduling.classes.html#pycity_scheduling.classes.optimization_entity.OptimizationEntity.op_slice">op_slice() (pycity_scheduling.classes.optimization_entity.OptimizationEntity property)</a>
<li><a href="pycity_scheduling.classes.html#pycity_scheduling.classes.optimization_entity.OptimizationEntity.op_slice">op_slice (pycity_scheduling.classes.optimization_entity.OptimizationEntity property)</a>
<ul>
<li><a href="pycity_scheduling.classes.html#pycity_scheduling.classes.OptimizationEntity.op_slice">(pycity_scheduling.classes.OptimizationEntity property)</a>
</li>
</ul></li>
<li><a href="pycity_scheduling.classes.html#pycity_scheduling.classes.optimization_entity.OptimizationEntity.op_time_vec">op_time_vec() (pycity_scheduling.classes.optimization_entity.OptimizationEntity property)</a>
<li><a href="pycity_scheduling.classes.html#pycity_scheduling.classes.optimization_entity.OptimizationEntity.op_time_vec">op_time_vec (pycity_scheduling.classes.optimization_entity.OptimizationEntity property)</a>
<ul>
<li><a href="pycity_scheduling.classes.html#pycity_scheduling.classes.OptimizationEntity.op_time_vec">(pycity_scheduling.classes.OptimizationEntity property)</a>
......@@ -1188,7 +1185,7 @@
<h2 id="S">S</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="pycity_scheduling.classes.html#pycity_scheduling.classes.optimization_entity.OptimizationEntity.schedule">schedule() (pycity_scheduling.classes.optimization_entity.OptimizationEntity property)</a>
<li><a href="pycity_scheduling.classes.html#pycity_scheduling.classes.optimization_entity.OptimizationEntity.schedule">schedule (pycity_scheduling.classes.optimization_entity.OptimizationEntity property)</a>
<ul>
<li><a href="pycity_scheduling.classes.html#pycity_scheduling.classes.OptimizationEntity.schedule">(pycity_scheduling.classes.OptimizationEntity property)</a>
......@@ -1202,7 +1199,7 @@
</li>
<li><a href="pycity_scheduling.html#pycity_scheduling.exceptions.SchedulingError">SchedulingError</a>
</li>
<li><a href="pycity_scheduling.classes.html#pycity_scheduling.classes.Timer.second">second() (pycity_scheduling.classes.Timer property)</a>
<li><a href="pycity_scheduling.classes.html#pycity_scheduling.classes.Timer.second">second (pycity_scheduling.classes.Timer property)</a>
<ul>
<li><a href="pycity_scheduling.classes.html#pycity_scheduling.classes.timer.Timer.second">(pycity_scheduling.classes.timer.Timer property)</a>
......@@ -1216,7 +1213,7 @@
<li><a href="pycity_scheduling.classes.html#pycity_scheduling.classes.OptimizationEntity.set_objective">(pycity_scheduling.classes.OptimizationEntity method)</a>
</li>
</ul></li>
<li><a href="pycity_scheduling.classes.html#pycity_scheduling.classes.optimization_entity.OptimizationEntity.simu_horizon">simu_horizon() (pycity_scheduling.classes.optimization_entity.OptimizationEntity property)</a>
<li><a href="pycity_scheduling.classes.html#pycity_scheduling.classes.optimization_entity.OptimizationEntity.simu_horizon">simu_horizon (pycity_scheduling.classes.optimization_entity.OptimizationEntity property)</a>
<ul>
<li><a href="pycity_scheduling.classes.html#pycity_scheduling.classes.OptimizationEntity.simu_horizon">(pycity_scheduling.classes.OptimizationEntity property)</a>
......@@ -1262,7 +1259,7 @@
<h2 id="T">T</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="pycity_scheduling.classes.html#pycity_scheduling.classes.building_energy_system.BuildingEnergySystem.tcs_units">tcs_units() (pycity_scheduling.classes.building_energy_system.BuildingEnergySystem property)</a>
<li><a href="pycity_scheduling.classes.html#pycity_scheduling.classes.building_energy_system.BuildingEnergySystem.tcs_units">tcs_units (pycity_scheduling.classes.building_energy_system.BuildingEnergySystem property)</a>
<ul>
<li><a href="pycity_scheduling.classes.html#pycity_scheduling.classes.BuildingEnergySystem.tcs_units">(pycity_scheduling.classes.BuildingEnergySystem property)</a>
......@@ -1292,13 +1289,13 @@
<li><a href="pycity_scheduling.classes.html#pycity_scheduling.classes.thermal_heating_storage.ThermalHeatingStorage">(class in pycity_scheduling.classes.thermal_heating_storage)</a>
</li>
</ul></li>
<li><a href="pycity_scheduling.classes.html#pycity_scheduling.classes.building_energy_system.BuildingEnergySystem.ths_units">ths_units() (pycity_scheduling.classes.building_energy_system.BuildingEnergySystem property)</a>
<li><a href="pycity_scheduling.classes.html#pycity_scheduling.classes.building_energy_system.BuildingEnergySystem.ths_units">ths_units (pycity_scheduling.classes.building_energy_system.BuildingEnergySystem property