v0.26: relaxed scheduling, cleaner asset pages

Version v0.26 of FlexMeasures makes the scheduler more flexible for edge situations (in which the target might be just out of reach, or not all targets can be satisfied). This is an important step in scheduling that behaves according to the priorities of each site.
Also, the UI for showing assets got an important update - we split the overloaded asset page into several pages. This improves browsing and loading times.
See the changelog for a complete list of improvements (50 PRs!).
Let's dive int the two main features!
Relaxed scheduling
You can tell FlexMeasures to find an optimal schedule within a list of contraints (e.g. grid constraints, minimum fill level of EV batteries etc.). Sometimes the perfect solution does not exist. FlexMeasures should still present a schedule that is the best it can do. But which goal/constraint is most important? We are working on letting the user decide.
Let us consider a simple example: In the V2G Liberty project (which uses FlexMeasures as a scheduling backend), the user can give a minimal charge level, for when they plan longer trips. FlexMeasure should attempt to reach this target, but sometimes the user might have given FlexMeasures too little time to accomplish that.
Here is a visualization:

Here, the minimal charge window cannot be reached, but FlexMeasures will reach the minimal level as early as possible. In earlier version of the FlexMeasures scheduler, it might have told you that no valid solution exists. But of course, here the user wants it to try.
If there are multiple competing goals/constraints, it becomes a matter of priority. In FlexMeasures, penalties can now be set for any breaches of these goals/constrains, which is a way for the system operator to determine which of them matters more than others.
This work (most of it) was done in Pull Requests 1300 and 1405.
Cleaner asset pages - and a bonus
The asset is our central data type. They have sensors, or even sub-assets ― they are the building blocks of site structures in FlexMeasures. Until now, FlexMeasures had one asset page in the UI, where the user could:
- look at (and edit) graphs
- edit asset properties
- see the asset connectivity status
- see the audit log
Recently, we added the capability to edit the flex context. It became a bit much, and the page also tool longer to load.
We separated the page into dedicated pages, for easier and faster navigation, and we added a context view, for when an asset hierarchy is build to model a site:
Also nice: users can select their favorite asset page, so when they visit the asset, they always see that view first (per default it is the context page).
And: we worked on the breadcrumbs for asset hierarchy, solving a few UX problems.
This work (most of it) was done in Pull Requests 1387, 1410, 1470 and 1416.