ODes aCSESS Project Blog

Project progress report - week 16-17

This week's work has been devoted to the following activities:

  • ECOS 2015 paper extension
  • Funding application for workshop on Modelling and Optimization of Ship Energy Systems
  • Osmose improvement - chapter 3
  • Eurotrip

 

ECOS 2015 paper extension

As for the team's last Skype meeting, I provided a list of the correct column headers to be selected from the entire dataset (100 out of 2000, roughly). 

Now waiting for Fredrik to provide the updated dataset

 

Funding application for workshop

The workshop application is almost ready:

  • 8 candidates have accepted and are in the application. All of their CVs have been included
  • The CV and motivation letter by the applicant have been included
  • The application has been reviewed

The only missing thing is now the feedback of EPFL's Research Office

 

Osmose improvement - Chapter 3

The problem with the exhaust gas proves to be more difficult than originally thought, and cannot be solved with the workaround originally planned. Hence, I decided to add (or better, formally add) to Osmose the "Forbidden matches" concept. This concept allows the user to specify some matches among all possible stream matches that should not be allowed to happen. 

The process is ongoing. For the moment, I managed to write down all the equations. Now, the need for writing down the data input from the user to AMPL code, and testing are required.

 

Eurotrip

The period from 03/05 to 11/05 was devoted to a pleasure/business trip in Europe:

  • In Hamburg (04/05) I met with Christoph Thiem, from TU Hamburg. He is a researcher working with various aspects in relation to energy efficiency and pollution from Diesel engines and has been involved in a significant number of measurement campaigns on operating vessels (Germany, Scotland), focusing also on taking measurements related to the estimation of the heat demand
  • In Hamburg (04/05) I met with Sebastian Sala and Ignatius Jukka, from Carnival Maritime. We presented each other's activities in relation to energy efficiency. I described them my project and following their interest we had an informal agreement on sharing data and technical documentation for one of their cruise ships.
  • In Gothenburg (08/05) I met with Selma Brynolf from TU Chalmers. She's a former colleague from my time as a Ph.D. student at Chalmers and works with LCA analysis and global energy models for fuels. We discussed our possible future plans for collaboration, and in particular about one funding application to FORMAS (Swedish funding agency) where I would have a role for the optimization of ship energy systems using non-conventional fuels
  • In Helsinki (09-10/05) I met with Kari Tammi and with a number of his colleagues from  Aalto University. It was particularly interesting to meet professor Pentti Kujala, responsible for the MSc program in Naval Architecture at Aalto University. He was particularly interested in the idea of a short course about optimal design of ship energy systems, and we drafted a tentative plan for the system. I also met with other future colleagues.
Posted by Francesco Baldi at 9:16
Comments (0)
Project progress report - week 15

This week's work has been devoted to the following activities:

  • ECOS 2015 paper extension
  • Course in Model Predictive Control
  • Funding application for workshop on Modelling and Optimization of Ship Energy Systems

 

ECOS 2015 paper extension

The work of conversion of the code from Matlab to Python is ongoing. The data analysis for the main and auxiliary engines is completed

 

Course in Model Predictive Control

This week's lecture focused again on Robust MPC. The idea is that our MPC must work also when there are unpredictable external disturbances. We saw how this could be done in an Open-Loop MPC, but also that this is rarely (if never) done in practice. 

We also saw that we can also implement this in a different way, doing "Tube MPC", a form of closed-loop MPC, based on the optimization of a control action for the "nominal" system, plus a control function that depends on the error. 

 

Funding application for workshop

The original idea of organizing a workshop about Modelling and Optimization of Ship Energy Systems is taking shape:

  • The workshop will be held in October 2017 (23-25)
  • 10 potential participants were contacted. 8 accepted, and have sent (or will send soon) their CVs for the application
  • The rooms are booked
  • The application is written (needs to be checked)

 

Posted by Francesco Baldi at 18:50
Comments (0)
Project progress report - weeks 13-14

This weeks work (halved by Easter holidays) has been devoted to the following activities:

  • Process integration applied to a chemical tanker
  • ECOS 2015 paper extension
  • Course in Model Predictive Control

 

Process integration applied to a chemical tanker

Finally all "programming" aspects have been fixed and Osmose has been updated in order to include them. To summarize:

  • Fuel input and, more in general, any flow can now be expressed as a function of the load (size) of a component using a relationship of the type y = ax + b (instead of y = ax)
  • A cost linearizator has been implemented for nonlinear cost functions
  • Piece-wise linear interpolation has been implemented

The work then focused on taking care of a number of details that had to be fixed concerning the specific project under study. In particular

  • I updated the specifics of the main engines
  • I included realistic values for heat demands of different types
  • I set a minimum operational load for all prime movers (main engines, auxiliary engines, boilers) equal to 10% of the maximum load
  • I included a model of an electrical heater
  • I included a model of an Organic Rankine Cycle (ORC), with cyclopentane as working fluid, with variable condensation and evaporation pressure, to be optimized in a master-optimization level
  • I included a "chimney" component, where exhaust gases are cooled either with an exhaust gas boiler, or they are simply released to the environment. This allows for full freedom of Osmose to optimize at what temperature the heat recovery can happen

 

ECOS 2015 paper extension

Work continued on the extension of ECOS 2015 paper. In particular, I prepared the data structure for the generation of the required data for the energy and exergy analysis. 

The work particularly focused on the painstaking process of translating the original Matlab data processing scripts for the energy and exergy analysis to Python. The idea is to create a full structure with all the data for all flows entering and leaving different components, so that it should (hopefully) then be easy to calculate energy and exergy efficiencies in an automatic way.

 

Model predictive control course 

This week's lecture of the MPC course dealt with the robust implementation of MPC. 

Starting from the contents of the previous lecture, we expanded the idea of robustness, generalizing the problem of having an MPC that works fine even when there are some external disturbances of different types. 

 

Posted by Francesco Baldi at 15:47
Comments (0)
Project progress report - week 12

This week has been devoted to the following activities:

  • "Engineering Optimization" reading
  • Course in Model Predictive Control
  • ECOS 2015 paper extension

 

"Engineering optimization" reading

I finished reading the book "Engineering Optmization", written by S.S. Rao. 

During this week of book reading, I finished reading chapter 13 and completed chapter 14 and Appendix B

  • Chapter 13: Modern methods of optimization
  • Chapter 14: Practical aspects of optimization
  • Appendix B: Some computational aspects of optimization

 

Model predictive control course 

This week's lecture of the MPC course dealt with MPC's practical implementation itself. 

During the previous week, the lectures focused on providing the theoretical basis and justification for MPC. These, however, cannot always be translated into practice. That is why the subject of this lecture was: how do we practically implement MPC?

The lecture mostly revolved around the following concepts:

  • MPC stability with no terminal constraint
  • Tracking - how does it works when the objective of the control changes over time?
  • Avoiding offsets in MPC (where we cannot have an integral part)
  • Stable MPCs doing tracking without offset

 

ECOS 2015 paper extension

Work continued on the extension of ECOS 2015 paper. In particular, I prepared the data structure for the generation of the required data for the energy and exergy analysis. 

The data will be structured as follows:

  1. System level: Main engines, Auxiliary engines, Others
  2. Unit/component level: Turbocharger, Coolers, etc
  3. Stream level: Water_in, Air_out, etc
  4. Stream features: Mdot, T, Qdot, etc.

The main task is now that of filling in the fields. This requries:

  • Reading existing values from the database
  • Processing them

 

Posted by Francesco Baldi at 7:57
Comments (0)
Project progress report - week 11

This week has been devoted to the following activities:

  • Osmose improvement
  • "Engineering Optimization" reading
  • Course in Model Predictive Control
  • ECOS 2015 paper extension

 

Osmose improvement

The rs = a*f + b"improvement" of Osmose needed further effort after discussion with other colleagues at the lab:

  • The implementation was not "elegant". 
  • The implementation was done by adding one additional constraint. This constraint could in reality be avoided by reformulating the equations in a slightly different way
  • The improvement only applied to resource flows, and not also to mass flows (flows that cannot exchange among different model locations) and heat flows.

Hence, the following was done (at the expense of quite a lot of time, unfortunately:

  • The implementation was improved in elegance. The required code was included in a function, so that it could be stored at the end of the main script with minor disruption to the readability of the script. 
  • The non necessary constraint was eliminated
  • The script was written in a way that only writes equations and parameters when needed, thereby reducing storage space and complexity of the problem
  • The modification was applied also to mass flows (not yet to heat flows)

 

"Engineering optimization" reading

I continue reading the book "Engineering Optmization", written by S.S. Rao. 

During this week of book reading, I read chapter 12 and part of chapter 13:

  • Chapter 12: Optimal control and optimality criteria methods
  • Chapter 13: Modern methods of optimization

 

Model predictive control course 

This week's lecture of the MPC course dealt with (finally!) MPC itself. It was shown how it works, and what are the main challenges in terms of its stability and feasibility. 

The most practical problem is that, contrarily to LQR controllers, MPC controllers cannot be calculated for an infinite time horizon. Hence, the choice of the prediction time horizon becomes a crucial point to define, as it influences both the feasibility of the controller, and the stability of the syxtem.

This can be solved in MPC by adding the concepts of terminal cost and terminal constraint

 

ECOS 2015 paper extension

Work continued on the extension of ECOS 2015 paper. In particular, I completed the conversion of the the "constants" routines code from Matlab to Python.

 

 

Posted by Francesco Baldi at 9:12
Comments (0)
Project progress report - week 10

This week has been devoted to the following activities:

  • Osmose setup for Tanker optimization
  • "Engineering Optimization" reading
  • Course in Model Predictive Control
  • ECOS 2015 paper extension
  • Attending seminar on Horizon 2020 - Funding Opportunities in the Energy Domain

 

Osmose setup for Tanker optimization

The "improvement" of Osmose was concluded with the following:

  • Addition of the y=ax+b constraint for resource flows
  • Creation of a function for the linearization of cost functions

This week's work focused on setting up the models for being used in the optimization of the retrofit of a chemical tanker. In particular, the following was achieved:

  • Fixing the problem of the exhaust gas: in Osmose, all heat flows are either cold flows that need to be heated, or hot flows that need to be cooled. There is no real place for "waste" flows, such as the exhaut gas, that can be cooled and used to recover heat, but don't really need to: there is no problem if the exhaust gas leave the funnel at a temperature that is higher than the minimum allowed. 
    This problem was fixed by adding a new cluster in the simulation, called "Main engine chimney", where the heat from the exhaust gas can go either to a steam boiler, or to the environment.
  • Setting up the internal Multi-Objective optimisation routine MOO, programmed in Matlab. Now it is up and running, ready to be used. 

 

"Engineering optimization" reading

I continue reading the book "Engineering Optmization", written by S.S. Rao. 

During the second week of book reading, I read chapter 10 and read chapter 1:

  • Chapter 10: Integer programming
  • Chapter 11: Stochastic programming

 

Model predictive control course 

There was a "bug" in the course programme, so Thursday supposedly 4th lecture was actually the 3rd lecture. It dealt with the concept of constrained systems. This included learning about invariant and control invariant sets and on how to calculate a control-invariant set for a specific system, or calculate a control law that makes a set to be control-invariant.

 

ECOS 2015 paper extension

Work continued on the extension of ECOS 2015 paper. In particular, I started the conversion of the database analysis code from Matlab to Python. This week's work included the conversion of the "constants" routines, that define the constants used in the analysis. 

 

Attending seminar on Horizon 2020 - Funding Opportunities in the Energy Domain

On Friday the 24th of March I attended a seminar at the EPFL campus in Lausanne about funding opportunities in H2020 and in Switzerland in the energy domain. There were many interesting presentations, although apparently in the current Work Programme (2017-2018) the opportunities for funding in my domain are few. 

I will upload the presentations as soon as they become available.

Here the link to the event:

https://www.euresearch.ch/en/events/event-detail/showUid/600/

Posted by Francesco Baldi at 20:40
Comments (0)
Project progress report - week 9

This week has been devoted to the following activities:

  • Osmose development
  • "Engineering Optimization" reading
  • Course in Model Predictive Control
  • ECOS 2015 paper extension

 

Osmose develpment

The possibility of including dependancy of resource flows in Osmose from y = ax to y = ax + b is finally up and running.

Hereafter a description of the module and of what it does: 

https://drive.google.com/open?id=0B_ThFgKtdzRramF0ZTYxRlVDTHM

 

"Engineering optimization" reading

I continue reading the book "Engineering Optmization", written by S.S. Rao. 

During the second week of book reading, I finished reading chapter 8 and read chapter 9:

  • Chapter 8: Geometric programming
  • Chapter 9: Dynamic programming

 

Model predictive control course 

The third week's lecture dealt with the concept of constrained systems. This included learning about invariant and control invariant sets and on how to calculate a control-invariant set for a specific system, or calculate a control law that makes a set to be control-invariant.

 

ECOS 2015 paper extension

During my PhD, I did work on the energy and exergy analysis of Cruise ship energy systems, together with Fredrik Ahlgren (Linneus University) and Tuong-Van Nguyen (DTU). The paper was presented at the International conference of Efficiency, Cost, Optimisation, Simulation and Environmental Impact of Energy Systems (ECOS) in 2015 in Pau, France.

We had already planned and initiated work for extending the publication to a journal publication, but this did not happen because of lack of time and organization. Now, we are back on the project. The plan is to have it done by the beginning of the summer.

This week's activities connected to this project involved:

  • Meeting on Skype with Fredrik and TV
  • Planning the first month of action
  • Selecting a number of publications that are expected to be cited
  • Creating a github project page to manage our project code files. 
Posted by Francesco Baldi at 11:30
Comments (0)
Project progress report - week 8

This week has been devoted to the following activities:

  • Osmose development
  • "Engineering Optimization" reading
  • Course in Model Predictive Control

 

Osmose develpment

The concept of developing the dependancy of resource flows in Osmose from y = ax to y = ax + b was still the main subject of the activity

The focus on this week's activity has been on how to make this work by only adding the necessary constraints, instead of adding redundant constraints for every simulation step.

 

"Engineering optimization" reading

As from the plan outlined in the first post and in the planning of the project, after I finished the EDx course about linear optimization I started reading the book "Engineering Optmization", written by S.S. Rao. 

During the second week of book reading, I read chapter 7 and part of chapter 8:

  • Chapter 7: Nonlinear programming III: Constrained optimization techniques
  • Chapter 8: Geometric programming

 

Model predictive control course 

The third week's lecture dealt with the concept of convex optimization, which MPC is based on. This primarily included the revision of interior point methods for the optimization of linear and nonlinear programming problems. 

 

Posted by Francesco Baldi at 8:52
Comments (0)
Project progress report - week 7

Week 7 has been devoted to the following activities:

  • Osmose development
  • "Engineering Optimization" reading
  • Course in Model Predictive Control
  • Introduction to IPESE for Alessandra

 

Osmose develpment

The idea is to be able to implement in Osmose relationships between different flows that are still linear, but of the type

  • y = ax + b

instead of

  • y = ax

This was implemented for resource flows (i.e., in particular, fuel flows) and will be extended to mass flows and heat flows.

 

"Engineering optimization" reading

As from the plan outlined in the first post and in the planning of the project, after I finished the EDx course about linear optimization I started reading the book "Engineering Optmization", written by S.S. Rao. 

During the second week of book reading, I read chapters 5 and 6:

  • Nonlinear programming I: One dimensional minimization problems
  • Nonlinear programming II: Unconstrained optimization techniques

 

Model predictive control course 

The second week's lecture dealt with linear quadratic regulators (LQR) in discrete-time systems, and on the two main ways of solving them:

  • Dynamic programming
  • Least squares

We also explored the concept of stability of LQRs, and on how this heavily depends on the selected horizon for the prediction

 

Introduction to IPESE for Alessandra

Alessandra Ancona is a PhD student from the University of Bologna. She is doing her PhD on the optimization of district heating systems. 

She was introduced to the lab, and she started learning her way through Osmose. 

Posted by Francesco Baldi at 17:06
Comments (0)
Project progress report - week 6

Week 6 has been devoted to the following activities:

  • Osmose model development
  • Osmose development
  • "Engineering Optimization" reading
  • Course in Model Predictive Control

Osmose model development

I am continuing the step-by-step development plan for implementing one of the existing ship case study (the chemical tanker) into Osmose. 

This week's development have been:

  • Implementation of the Osmose model inside of an external, genetic algorithm. For now I used Matlab's GA, later I might implement the multiobjective optimization tool (MOO) available at IPESE. For the moment, I just tested the optimization of the temperature of the steam network. More tests to come.

 

Osmose develpment

The idea is to be able to implement in Osmose relationships between different flows that are still linear, but of the type

  • y = ax + b

instead of

  • y = ax

This requires a deeper understanding of how Osmose works, which is what I started to do during this week. I explored more in depth the way Osmose takes the inputs from the user and uses them to write AMPL code. 

 

"Engineering optimization" reading

As from the plan outlined in the first post and in the planning of the project, after I finished the EDx course about linear optimization I started reading the book "Engineering Optmization", written by S.S. Rao. 

The book covers most aspects of mathematical programming, touching both linear, integer, quadratic, geometrical and generic nonlinear programming, as well as introducing to alternative programming techniques (Genetic Algorithms, etc). 

During the first week, I read 4 out of the 14 chapters of the book:

  • Introduction to optimization
  • Classic optimization techniques
  • Linear programming I: The Simplex method
  • Linear programming II: Additional topics and extensions

 

Model predictive control course

I started attending a Model Predictive Control course (MPC), offered at EPFL by Colin Neil Jones. 

http://edu.epfl.ch/coursebook/fr/model-predictive-control-ME-425

The course will develop over 14 weeks, and cover a broad range of thematics related to MPC, including its theoretica foundations and its practical implementation. 

The first week's lecture introduced MPC and its applications, and gave some background information about the concepts of stability in control

Posted by Francesco Baldi at 16:44
Comments (0)
Page : 1 2 Next »
RSS