Controlling vessel operation
The system optimizes marine vessel control by retrieving nondominated solutions to balance multiple objectives, addressing dynamic challenges in vessel operation and ensuring efficient and adaptive performance.
Patent Information
- Application Number
- PCT/NO2025/050130
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-07-10
- Filing Date
- 2025-07-09
- Publication Date
- 2026-01-15
AI Technical Summary
Existing marine vessel control systems face challenges in optimizing multiple conflicting objectives that change over time, such as cost, efficiency, fuel consumption, wear and tear, and environmental impact, due to dynamic environmental conditions and operational uncertainties.
A system that retrieves nondominated solutions from a memory to optimize vessel control parameters based on input objectives and constraints, allowing for dynamic adjustment of vessel operations to achieve a desired trade-off between multiple objectives.
Enables efficient and adaptive vessel operation by selecting control parameters that balance multiple objectives, ensuring optimal performance and compliance with operational constraints, even as conditions change.
Smart Images

Figure NO2025050130_15012026_PF_FP_ABST
Abstract
Description
[0001] CONTROLLING VESSEL OPERATION
[0002] The present disclosure relates to a system for controlling the operation of a marine vessel.
[0003] BACKGROUND
[0004] There are many components and systems used in the control of a marine vessel and various factors are considered in their control and management, including that a vessel’s objective may change over time.
[0005] SUMMARY OF INVENTION
[0006] Several industrial real-world problems are dynamic in nature where more than one objective function may need to be considered, for example optimised, in the control of a particular component. Particularly, there are a large number of objective functions that may need to be considered in the control of a marine vessel.
[0007] By way of a first example, it may be desired to minimise the cost of the system and maximise the efficiency of the system. However, the cost and efficiency of a system may change over time (e.g. the cost of the system may increase over time due to inflation) while the efficiency of the system may decrease over time (e.g. due to wear and tear).
[0008] The amount of objective functions that may require optimisation in any given system is certainly not limited to two. For instance, dynamic positioning (“DP”) systems are used to maintain the position and heading of a vessel or platform by using thrusters in the presence of environmental disturbances such as wind, waves and currents. It may be desired to optimize fuel consumption, minimse wear and tear on the thrusters, and maximise the accuracy of the position and heading control. However, the objectives of the DP system may change over time due to changes in the environmental conditions or changes in the fault conditions.
[0009] By way of another example, it may be required to optimize the power balance between a shore connection, the power from wind farm, and onboard power systems, and to minimize the carbon footprint (and / or to minimize natural gas emissions) and maximise the reliability of the power supply for handling the uncertainty of load and power from a wind farm and the shore. However, these objective functions may change over time depending on percentage of power that a platform can use from the shore and a wind farm.
[0010] By way of yet another example, for dynamically positioned vessels, thrust allocation may be formulated as a non-linear optimization problem, where the demanded forces and moments are distributed among the available thrusters. The thruster wear and tear, accuracy of position and heading control, thruster-hull interaction, thruster-thruster interactions may all, each, be an objective function to be optimized. However, these functions are susceptible to change over time due to weather, failure scenarios, and operator preferences etc.
[0011] By way of a final example, for dynamically positioned vessels, due to continuous uncertain external power demands, a dynamic multiple objective optimization problem may be used for optimal scheduling of producers (namely, diesel generators, batteries, fuel cells, flywheels, etc.,) taking the energy consumption and greenhouse gas emissions into consideration simultaneously.
[0012] In each of these examples, the performance of a system is subject to a number of objective functions that are to be optimized (e.g. maximised, minimised or maintained). Therefore, and according to the present disclosure, optimising the performance of some systems comprises solving a dynamical multi-objective optimisation problem to determine the trade-off between multiple (often conflicting) objective functions that are susceptible to change over time.
[0013] The present disclosure relates to determining parameters used to control a component of a marine vessel to perform a task, so that the vessel can achieve an objective, that is able to consider the trade-off between various objectives for which it is desirable to optimise and which may be conflicting. According to the disclosure, there is provided a system that allows a user to input a vessel objective to be achieved. Optimised solutions comprising at least one vessel control parameter to control a component of a vessel so that the vessel achieves its objective, and for which a plurality of objectives are optimised subject to constraints, are retrieved. On this basis, parameters to control the vessel component to perform a task, such that the vessel can achieve its objective, can be determined based on one of these solutions. The selection of a solution (and therefore the vessel control parameters) may be based on some criterion.
[0014] According to an example of this disclosure there is provided a system for selecting a set of vessel parameters to be used to control a component of a marine vessel to perform a task, the system configured to: obtain data indicating a vessel objective, being an objective that the marine vessel is to achieve using the component of the marine vessel performing the task; retrieve, from a memory, a set of solutions, wherein each solution in the set is a nondominated solution to an optimisation problem where the vessel objective is achieved such that a first objective function is optimised subject to a set of constraints, each solution comprising at least one vessel parameter value relating to the component of the marine vessel; obtain input selecting one solution from the retrieved set; and determine an instruction to control the component of the marine vessel to operate based on the selected solution. The or each set of solutions may contain one solution, at least one solution, or a plurality of solutions. A plurality of sets of solutions may be retrieved, each set containing one solution, at least one solution, or a plurality of solutions The system may be configured to: obtain data indicating the first objective function to be optimised.
[0015] The vessel objective may be related to a vessel state. For example the vessel objective may be the vessel being operated in dynamic positioning, docking, travelling from one location to another such as to a destination (such as an end-destination or to a waypoint) etc. The constraints may be operational constraints, such as of components that power the vessel (such as an operating RPM range for the main engine, a duty cycle to control the power take-in, a charge and / or discharge cycle or depth of discharge of a battery etc.). The function to be optimised may comprise efficiency (such as fuel efficiency or energy efficiency or another efficiency), wear and tear, safety, greenhouse gas emissions etc. These examples are not exhaustive. For example the constraints may relate to factors other than operating parameters, such as wear and tear being within a particular range, or the vessel being within a particular range of a particular waypoint etc. Exactly what the function (or functions), objective (or objectives) and constraint (or constraints) are will depend on the implementation.
[0016] The system may be configured to: obtain data indicating the set of constraints.
[0017] Each solution in the set may be a nondominated solution to a multi-objective optimisation problem where the vessel objective is achieved such that a plurality of objective functions are optimised subject to a set of constraints.
[0018] The system may be configured to: obtain data indicating a plurality of objective functions to be optimised.
[0019] The system may be configured to: obtain data indicating the set of constraints.
[0020] The system may be configured to: rank retrieved set of solutions based on a predetermined criterion; and cause the ranked set of solutions to be displayed together with data indicating their ranking.
[0021] The instruction to control the component of the marine vessel to operate may be based on the solution with the highest ranking.
[0022] The system may be configured to: obtain data indicating that at least one objective function is to be adjusted and, in response: retrieve, from a memory, a new set of solutions where the vessel objective is achieved such that the new objective function is optimised.
[0023] The system may be configured to: obtain data indicating that at least one constraint is to be adjusted and, in response: retrieve, from a memory, a new set of solutions where the vessel objective is achieved such that at least one objective function is optimised subject to the new constraint.
[0024] The system may be configured to: obtain data indicating that a parameter associated with the task that the vessel component is to perform, or associated with the objective that the vessel is to complete, has changed and, in response: retrieve, from a memory, a new set of solutions, wherein each solution in the set is a nondominated solution to an optimisation problem where the new vessel objective is achieved such that at least one objective function is optimised subject to a set of constraints.
[0025] The system may be configured to: obtain data indicating a vessel state, wherein each solution in the retrieved set is associated with the vessel state.
[0026] The system may be configured to: obtain data indicating a vessel state, wherein a predetermined number of sets of solutions are retrieved, the predetermined number being based on the vessel state.
[0027] The vessel state may be one of: port, harbour, transit, maintaining vessel position, dynamic positioning, position keeping (DP) standby, position keeping (DP), performing an operation with a piece of equipment, manoeuvring, towing, loading, unloading. The vessel objective may be based on the vessel state, e.g. the vessel objective may be to maintain the vessel state such as DP, transit .harbour, etc.
[0028] The system may be configured to: determine the set of solutions.
[0029] The system may be configured to: determine a measure of the impact of controlling the component of the marine vessel to operate based on the selected solution and compare the measure of the impact to a predetermined threshold, and if the measure of impact is less than the predetermined threshold, the system is configured to at least one of: retrieve a new set of solutions where the vessel objective is achieved such that the new objective function is optimised; and determine a new set of solutions where the vessel objective is achieved such that the new objective function is optimised.
[0030] BRIEF DESCRIPTION OF THE DRAWINGS
[0031] Examples of the present disclosure will be described in detail with reference to the accompanying drawings, which should not be construed as limiting, in which:
[0032] Figure 1 shows a schematic diagram of a system;
[0033] Figure 2 shows a schematic diagram of a system;
[0034] Figure 3 shows a flowchart of a process; and
[0035] Figure 4 shows a schematic diagram of an output of the process.
[0036] DETAILED DESCRIPTION
[0037] These drawings should not be considered limiting, rather they are used for understanding and explaining the present disclosure.
[0038] Figure 1 shows a conceptual schematic of the types of systems and components that may be used to control a marine vessel. At 1 a number of mechanical systems components are indicated including the vessel (e.g. a ship) itself 10, a propulsor (shown as a propeller) 11 , a controller 12 for a power take-off (“PTO”) generator and for a power take-in (“PTI”) module 15, a main engine 13, and a shaft system 14. At 2 a number of electrical system components are indicated. Including a PTI / PTO 20, a battery 21 , and a ship power system 22.
[0039] It will be appreciated that any one or more of these components may be used in the control of a marine vessel so that the marine vessel can achieve an objective. For instance, a component like a propulsor (such as a propeller) may be controlled to perform a task (e.g. spin) at a certain rpm such that the vessel can achieve the objective of travelling forwards. This example is highly simplistic and in reality a number of components may be caused to each perform a number of tasks so that the machine vessel can achieve a complex objective (e.g. dynamic positioning), and at least one battery and / or engine may be controlled to supply power to at least one power consumer of the vessel. It will be appreciated that numerous trade-offs may exist between certain parameters that may be accounted for in planning the control of the vessel’s components for it to achieve an objective.
[0040] Examples of parameters between which where there are potential trade-offs are indicated in Figure 1.
[0041] For example, for a vessel to achieve and maintain a certain speed it may be desirable to achieve the the following: minimise the main engine fuel load consumption, minimise the main engine load variation, and meet the power demands of the propeller and of hotel loads. The vessel speed being maintained is to be done such that these are achieved subject to operational constraints which, in this example, are the minimum / maximum power load limit on the main engine (e.g. operating the main engine between safe parameters) and the maximum PTI / PTO power. The quantities “main engine fuel consumption,” “main engine load variations,” and “propeller and hotel load power demand” may be referred to as “objective functions” or “objectives” or “functions.” In this example each objective function is to be optimised, which in the case of fuel consumption and load variations means “minimised” but in certain examples may mean maximise and, in the case of propeller / hotel load power demand means meet (or met or achieved). The objective functions can often be conflicting in the sense that changing the parameters of one can affect (e.g. adversely) the other. Hence, there is a balance to be achieved between these objective functions if the vessel is to achieve the objective of maintaining its speed, subject to the operational constraints.
[0042] By way of another example, which may be separate to, or in conjunction with, the previous example, to achieve a certain PTI / PTO the objective functions of the number of auxiliary engines and the electrical conversion losses are to be optimised (in this example, both minimised), subject to the operational constraints of maintaining the hotel load to a target amount (or within a target range) and minimising the state of charge (“SoC”) of a battery used in conjunction with the PTI / PTO. It will therefore be appreciated that for a marine vessel to perform even a simple task there is an operational, practical, trade-off that is accounted for multiple parameters that can be adjusted in real-time.
[0043] For the avoidance of doubt, herein it is described that a component of a marine vessel is controlled to perform a task (e.g. controlling battery power supplied or controlling a propeller to move etc.) so that a vessel achieves an objective (e.g. stays in the same place, docks, moves forward etc.) but the two terms should be considered synonymous in some examples because causing a vessel component to perform a task is causing the vessel to achieve an objective.
[0044] Figure 2 shows a controller 200 that is configured to perform a process (that will be described with reference to Figure 3) in communication with a memory 202 (which may comprise a database). The memory 202 may be an external memory, meaning that it is a separate component from the controller 200 or may be an internal memory, meaning that the controller 200 may comprise the memory 202.
[0045] As stated above, in the control of a marine vessel, vessel objectives (e.g. objectives of the vessel as a whole or tasks that vessel components are to perform) are to be achieved subject to certain operational constraints. Operational constraints may be user preferences or may be safe operational constraints. Operational constraints may comprise operating a component at a particular parameter (e.g. speed, rpm, PWM duty cycle etc.) which may be maintained about a target value or may be maintained within a predetermined range.
[0046] To operate the vessel in a preferred, desired, safe and / or in an energy-efficient way it may be desired to achieve a number of factors - these are the objective functions to be optimised. Examples of objective functions to be optimised (which, as described above, may be minimised or maximised or achieved), are minimised fuel consumption, maximised energy efficiency, minimised emissions, maximised safety, minimise the amount of battery units (or cells) used to power a components, minimise load variations on an engine, and minimised losses (due to electrical conversion or due to other factors). Examples of vessel objectives to be achieved may include traveling from one place to another, being operated in dynamic positioning, docking, or operating a piece of equipment (e.g. a hotel load or heavy machinery). Achieving a vessel objective may be synonymous with maintaining the state of a vessel.
[0047] The memory may comprise a database, or library, of solutions (e.g. stored in the memory) and each solution may be the solution to an optimisation problem. In other words, each solution may be a value, or values, for controlling a component of the marine vessel such that an objective function is optimised. Alternatively or additionally, each solution may be the solution to a dynamic multi-objective optimisation problem (a “DMOO” problem). In other words, each solution may be a value, or values, for controlling a component of the marine vessel such that a plurality of (e.g. two or more) objective functions are optimised. For example, operating a propeller within a certain RPM range may simultaneously maximise fuel efficiency whilst minimising wear and tear such that the vessel is able to head to its next waypoint. In such examples with two or more objective functions, each solution in the set may be “non-dominated” or “Pareto optimal” or “Pareto efficient” meaning that, for each solution, no objective function can be improved without affecting the other. Put another way, each set of solutions that are stored are “Pareto sets”, or “Pareto fronts.” DMOO problems are types of optimization problems where there are multiple objectives that change over time, which may be challenging as the Pareto-optimal set, is the set of solutions that are not dominated by any other solution, may change with time.
[0048] The database of solutions may be stored in a cloud computing system and therefore accessing the database may comprise communicating with the cloud and retrieving the solutions from the cloud.
[0049] In summary, the memory may store a large number of sets of solutions and each set may comprise component parameter values for which at least one objective function is optimised. In some examples the stored sets may comprise parameters for which the or each objective function is optimised subject to a set of constraints.
[0050] For the avoidance of doubt while in some example implementations of this disclosure a single solution may be retrieved that optimises the objective function, a set comprising multiple (e.g. a plurality of) solutions may be retrieved where each solution optimises the objective function. In some examples multiple (e.g. a plurality of) sets of solutions may be retrieved where each set comprises a plurality of solutions, where each solution in each set optimises the objective function. In any of these examples each solution in the or each set will be a nondominated solution to an optimisation problem optimising the first objective function subject to the constraints and where the vessel objective is achieved. It will be understood that each solution in the or each set may further be the solution to a multi-objective optimisation problem where at least two objective functions (including the first) are optimised subject to respective constraints such that the vessel is achieved. In either example the different solutions may offer different trade-offs.
[0051] As will now be described, such a database allows the user to see the effect of a particular set of control parameters so that they can decide whether to control a vessel component according to those parameters (although this could be done automatically). The solution that may be selected (by a user or automatically) may be the one with the highest or lowest level of a parameter, for example the solution that is most efficient, has the highest safety rating, has the lowest carbon emissions or has the lowest greenhouse gas emissions etc. This will be expanded upon below.
[0052] Figure 3 shows an example process 300. The controller 200 of Figure 2 may be configured to perform all or part of the process 300. At S302 the process comprises obtaining data indicating a vessel objective, being an objective that the marine vessel is to achieve using the component of the marine vessel performing the task.
[0053] At S304 the process comprises retrieving, from a memory, a set of solutions, wherein each solution in the set is a nondominated solution to an optimisation problem where the vessel objective is achieved such that a first objective function is optimised subject to a set of constraints, each solution comprising vessel parameter values relating to the component of the marine vessel (e.g. a particular PWM duty cycle for a shaft rotation, or a range of operating current for a motor etc.).
[0054] If input is obtained selecting one solution from the retrieved set then at S308 the process comprises determining an instruction to control a component of the marine vessel based on the vessel parameter in the selected solution (e.g. instructions to control the shaft to spin within the PWM duty cycle range, or instructions for current within the operating range to be supplied to the motor etc.).
[0055] “Obtaining” data as used herein may comprise receiving data (e.g. from a sensor or from another component), measuring data (e.g. by a sensor or other measuring device), determining or calculating or estimating data (e.g. from data received from a sensor), or retrieving data (e.g. from an internal or external memory storing data), depending on the example. Therefore, for the avoidance of doubt, the vessel data, objective functions and / or constraints and / or other data etc. received (e.g. from another controller or module or from any sensors operatively connected to any vessel components) or may be stored in a memory and may be retrieved.
[0056] By way of one highly simplified example a user may input into the process that they want to dock a marine vessel, this being the objective that the marine vessel is to achieve (S302). Then, at S304, a number of sets of solutions are retrieved. The retrieved solutions may comprise vessel component control parameters for controlling at least one component of the marine vessel so that the marine vessel is docked and so that at least one objective function is optimised. For example, a first set of solutions may be particular values for controlling the component to operate to cause the vessel to dock such that carbon emissions are minimised (e.g. a speed of no more than a certain speed), a second set of solutions may be parameter values for controlling the component to operate to cause the vessel to dock such that energy efficiency is maximised (e.g. the power supplied must be within a predetermined threshold), a third set of solutions may be control parameters for controlling the component to operate to cause the vessel to dock such that a minimum number of battery units are used to supply power to the components (etc.). Any one solution may be adopted and, at S308, instructions are determined to control the vessel component to operate such that the vessel can dock according to one of the retrieved sets of solutions (e.g. instructions to cause the component to operate according to the parameter values in the adopted solution). The chosen, or selected, set may be determined automatically (e.g. based on a predetermined, stored, criterion) or the sets may be displayed to a user and the user may select one. E.g., a stored instruction of “adopt the most energy efficient solution” may be used to automatically select the most energy efficient solution, or a user may review each displayed set and manually select the most energy efficient solution.
[0057] Alternatively or additionally, the retrieved solutions may comprise vessel component parameter values for controlling at least one component of the marine vessel so that an objective is achieved (e.g. marine vessel is docked) and so that two or more objective functions are optimised. As stated above, in these examples each of solutions comprises a plurality of solutions (e.g. each set may be a Pareto front), each solution being a set of vessel component values where all of the objective functions are optimised, e.g. where no objective function can be improved without adversely affecting the other. For example, a first set of solutions may comprise component parameter values where both of fuel efficiency and number of battery units used are minimised, a second set of solutions may comprise component parameter values where both fuel consumption is minimised and battery life is maximised. A third set of solutions may comprise component parameter values where fuel efficiency is maximised and the number of battery units used is minimised and where load variations are minimised. It will be appreciated that any set of solutions may comprise component control parameter values such that any number of objective functions are optimised (e.g. not only two).
[0058] Each solution is therefore an optimised solution. Each solution is therefore a solution to a multi-objective optimisation problem. Each solution allows the component to be controlled to achieve a task such that the vessel can achieve its objective. Each solution’s control parameters may be subject to a set of constraints and these may be stored with the solutions (e.g. each solution is a set of parameters such that the vessel objective is achieved, and at least one objective function is optimised subject to the set of constraints) or the set of constraints is obtained and only those solutions that are subject to those set of constraints are retrieved. In the latter example, a large set of solutions may be stored for operating a propeller at maximum energy efficiency and minimal fuel consumption (for example) and data may be obtained specifying a minimum to maximum operating range (e.g. current values corresponding to particular RPM) and only those stored solutions that can operate the propeller within this operating range (e.g. within these constraints) are retrieved at S304.
[0059] As indicated by the dotted boxes, the process may comprise a number of optional steps.
[0060] For example, as indicated by S310 the one or more objective functions to be optimised may be obtained. In examples where this is not the case then a user may see a large set of solutions for achieving a vessel objective where a large number of objective functions (one or more) are optimised. However, it will be appreciated that in examples where the objective function(s) are specified the set of solutions in the “solution space” that will be retrieved at S304 will be smaller. Similarly, as mentioned above, at S312, a set of constraints (e.g. at least one constraint) may be obtained, e.g. they may be set by a user. Therefore, in some examples the or each objective function and or the or each constraint may be inputs to the process, e.g. by a user.
[0061] As indicated at S306 some examples comprise ranking the retrieved solutions. This may be done automatically. As indicated by S318 a criterion may be used to rank the solutions. The criteria may be stored, e.g. in the memory. The criteria may be received, e.g. specified by a user. The criterion may be one of the objective parameters or may be one of the constraints or may be some other parameter. In one example the criteria is vessel safety. In this example, a user may specify that a vessel objective is to be achieved and a number of objective functions are to be optimised subject to constraints, as described above, and at S306 the retrieved sets of solutions are ranked according to safely. This ranking may be displayed to a user. Optionally, the safest solution may be selected automatically (in which case the ranking is done automatically as part of the process). As part of the ranking step S306, the retrieved solutions may be analysed, S320, to determine their place in the ranking. The criterion may be referred to as an impact, given the real-world implications of adopting the components. The ranking step may be referred to as sensitivity analysis and the sorting according to the criteria may be referred to as assessing the “impact” of the solutions being adopted, the ranking may therefore be considered sorting the solutions based on their “impact level.”
[0062] Performing this “impact analysis” on the objectives and constraints in a DMOO problem means that how changes in the objective functions and parameters affect the performance of the optimization algorithm may be understood. Step S306 may therefore comprise determining the objectives and / or constraints that affect the overall performance the most and that may be given the highest priority (e.g. weighting) in the process. In other words, S306 may comprise varying the objectives and / or constraints over a range of values and observing the effect on the performance of the algorithm when steps S302-S306 are repeated. The repetition of these steps may allow insights to be gained into the behaviour of the optimization algorithm and to identify ways to improve its performance. Therefore, the results that are retrieved as sorted based on their “impact level”. The sorted components may be verified for their relevance and the respective objective and / or constraint may be adjusted if the components are not considered relevant. Alternatively, a new iteration is performed when the operation or requirements or environment changes. This approach enables an automatic detection mechanism that comprises a performance analysis and automatically adapting the objectives / constraints accordingly, which improves the results of the DMOO algorithm, that was used to generate the stored solutions. In other words, part of the process is a feedback and storing step whereby if it is determined that a solution (e.g. the component control parameters) is determined to be unfeasible or unacceptable for whatever reason such that an objective function or constraint is determined to require adjusting, the process may comprise determining a new solution or set of solutions (e.g. Pareto efficient) and then storing that solution or set of solutions in the memory so that it can be later retrieved if the process is run again. In this way, the process comprises updating the stored solutions with new solutions, and / or new sets of solutions. In these examples the controller may be configured to determine, or calculate, the sets of solutions and to store the sets of solutions (e.g. in an internal memory) for later retrieval. The controller may further be configured to receive feedback indicating that a retrieved solution was not feasible for implementation and, upon receiving this feedback, calculate a new set of solutions for which the vessel objective is achieved and the objection function(s) is(are) optimised subject to the constraints.
[0063] As part of the retrieval, optionally at S314 a search window is initialised and at S316 the results are filtered. As indicated by S315 the search window and / or the result filtering may be based on the state of the vessel. Of course, one or both of S314 and S316 may be based on other criteria. It will be appreciated that S316, or S316 when performed in combination with S314 may define a predetermined number of stored results to be displayed. For example, the search may be determined based on a state of the vessel (e.g. a present vessel state) (e.g. obtained at S315). For example, if the vessel is in a transit state, then the search length may be defined as the most recent results (e.g. a predetermined number of results) , e.g. 10 that are related to a vessel transit operation, for example historic vessel transit operation data. This data may or may not be filtered, S316. For instance, the search at S314 may be specific to vessel states but, alternatively, the search may be initialised to display a predetermined number of results, say 20, and then at S316 these may be filtered based on vessel state. In another example, the search window could be defined as the most recent (e.g. a predetermined number, e.g. 10) of solutions for a vessel in “dynamic positioning” mode or the search may be defined as the most recent (e.g. a predetermined number, e.g. 10) or solutions and then at S316 these may be filtered based on the “dynamic positioning” state. These steps will limit the amount of results that are retrieved.
[0064] As indicated by the looping arrows, if it has determined that a vessel operation condition has changed, for example the vessel state has changed from say transit to port then a new search window length for that state may be initialized as part of the process. If none of the selected optimization results has relevance (impact) in meeting the criteria then the process may comprise defining a new search at S314.
[0065] At S322 the process comprises determining whether any, or all, of the retrieved solutions are acceptable. This may comprise a number of different steps depending on the example. For example, the process comprises verifying the components in each set to determine their relevance since it may be that one or more retrieved sets are not feasible to adopt. Step 322 may also comprise adjusting one or more objective functions or one or more constraints. In this example, the retrieved solution or solutions may not be acceptable and so the process may effectively be performed again with new (or adjusted) objective functions and / or constraints. Therefore, based on the ongoing operation of the vessel, the sorted components may be verified for their relevance and upon relevant the respective objective or constraint is adjusted. If not, a new iteration is performed when the operation or requirements or environment changes.
[0066] As indicated by S324 periodically changes are monitored for. For instance, environmental changes may necessitate the process being performed again with the same objective functions, vessel data, and constraints. Similarly, if the operation requirements change then the process may be performed again (either with the same objective functions, vessel data, and / or constraints or with new objective functions, vessel data, and / or constraints).
[0067] By way of one example to illustrate the process, two example objective functions may be expressed as follows, fi being fuel consumption and f2 being wear-and-tear: where T is the time, m is the number of generator sets (“gensets”), Wj is the fuel consumption of a genset, and pi is the power of the genset, p0is the power of the genset in the last step, and (p is the wear and tear feature map.
[0068] In one example, these objective functions may be desired to be both minimised subject to the constraints as follows (in this example defined as operating ranges): pmin< p < pmax dpmin < dp < dpmax SoCmin 2 SoC < SoC max
[0069] Figure 4 shows the results of executing the process 300 where the vessel operation is controlling the vessel. A sample load profile with 5s sample time is used for the test. As per the process, a number of solutions have been retrieved comprising component parameter values, being the maximum loading % of the genset in this example, and such that that the above functions are minimised subject to the above constraints. The vessel data input to the process at S302 in this example is may be operating the vessel using the genset or may be operating the vessel (e.g. in general), synonymous with the task that the component is to achieve in this example. Three solutions are shown in this example. In Case 1 , the first solution indicates that if the genset is run at 10% of its maximum loading then the average fuel consumption index is 100 and the average component wear and tear is 100. In contrast, the second and third solutions respectively indicate that if the genset is run at 70% or 85% of its maximum loading then the average fuel consumption index is the same (appro. 441) and the component wear and tear is 0.
[0070] The lower diagram of Case 1 ranks each solution according to the fuel consumption (left column) and wear and tear (right column).
[0071] In Case 2, the first and second solutions are identical to the respective first and third solutions of case 1 but the third solution indicates that if the genset is run at 95% its maximum loading then the average fuel consumption and the average wear and tear are shown to be 1000000 (which is a value output to indicate that the constraints have been violated). The lower diagram again ranks each solution as for Case 1.
[0072] This indicates the trade-off between two objective functions identified above. Namely, that if the generator is run at too low a % of its maximum loading then although the fuel consumption is at its lowest (100) there is some component wear and tear. This may or may not be acceptable depending on a user preference, e.g. its ranking. On the contrary if the genset is ran at close to 100% of its maximum loading then not only is fuel consumption high but component wear and tear is high as well.
[0073] In Case 2, either solution 1 or 2 may be acceptable depending on the constraint (S318) indicating the user preference. For instance, if the user desires fuel consumption to be priorities over wear and tear then they may input data indicating that the first solution (scenario 0) is to be adopted. On the other hand, if the user priorities low wear and tear over fuel consumption then they may input data indicating that the second solution (scenario 1) is to be adopted. In either case, once this input is obtained the process will determine instructions (S308) to control the genset at 10% of its maximum loading or 85% of its maximum loading, depending on which choice the user makes.
[0074] This processes effectively solves or derives an equation of the following form:
[0075] In other words, the final function of the performance of the generator, fObj, according to which the control parameters may be derived to control the genset so that it behaves according to that function, is essentially a weighted sum of the trade-off between fuel consumption and maintenance. Effectively therefore, the process described above solves for the weights in this function, with ffueiand fmaintenance being computed based on factors including the power delivered by producers and the number of producers / heavy consumers running.
[0076] The Figure 4 examples are with reference to the trade-off between two objective functions however it will readily be appreciated that more than two objective functions may be optimised, subject to constraints, such that a vessel component is to achieve a task. The
[0077] Figure 4 example may also take into account safety in which case each retrieved solution will have a column indicating a vessel safety value and those solutions may be ranked etc. In this case, the equation that the process effectively solves for is of the form:
[0078] With fsafety being also based on factors including the power delivered by producers and the number of producers / heavy consumers running.
[0079] Indeed, in some examples one objective function may be vessel safety and the solutions (e.g. the criterion, S318) may be ranked according to vessel safety, given the relative importance of safety compared to other objective functions. Put another way, the weight wsafety may be greater than the weights of all other objective functions in some examples. The controller 300 may be programmed such that solutions are ranked according to safety and / or that the solution having the highest safety rank is automatically selected, and control instructions determined based on that solution, in some examples. In this way, the safest solution may be automatically selected even though other objective functions are also optimised.
[0080] In general, S322 may comprise automatically ranking the solutions according to a predetermined criteria at which point the highest-ranked solution is selected, meaning that, at S308, instructions are determined to control the component of the vessel according to that solution, and in this way the process described with reference to Figure 4 may be automated.
[0081] By way of further example the marine vessel may comprise a wind assisted propulsion (“WAP”) system. When the vessel comprises such a system an objective to be optimised may be accommodating the additional thrust generated by the sail. In such an example the constraints to which the optimisation may be subject to may be the parameters of the steering system which will be adjusted to accommodate any additional thrust. Alternatively or additionally, the propulsion of the vessel may be optimised in which example the constraints may be the operational parameters of the vessel propellor. Alternatively or additionally, the function to be optimised may be the efficiency of the propellor subject to the added WAP. Alternatively or additionally, the function to be optimised may be the power management, in other words, a ratio of the power generated by the vessel’s sail to the vessel’s energy demand. The constraints in such an example may comprise a variety of parameters, for example any operational ranges of the components used to power the vessel as discussed above.
[0082] For any type of vessel the function to be optimised may be based on the vessel’s route and / or the task that the vessel is to perform. Alternatively or additionally the function to be optimised may be based on a vessel property, such as its speed. For example, although the constraints may relate to operational parameters of the vessel components such as engine RPM or battery system control parameters etc., the constraints may in some examples be vessel speed and / or route and / or heading etc. In these examples the constraint for vessel speed may be maintaining the vessel between a minimum and a maximum speed, or below a maximum speed, or keeping the vessel heading within an angular range etc. In fact, it will be appreciated that for a given operation of the vessel there may be multiple functions that could be optimised and there may be overlap between the objectives and constraints. Nevertheless, based on inputs describing such objectives and constraints, the optimised (and nondominated) solutions may be retrieved and one such solution may be used to control the vessel.
[0083] In one example the constraints may be a computed energy demand. This may be calculated by an energy planner for the vessel. An energy planner may be designed to determine a total energy demand for an entire voyage by using planned voyage details and weather forecast data to sum up the energy demands for segments of the voyage. Such a combined energy demand may be used as a constraint to optimise a given function.
[0084] In examples where the vessel is a liquefied natural gas (“LNG”) carrier an objective function to be optimised may be power plant optimisation, e.g. optimising the efficiency of the power plant. Alternatively or additionally an objective function to be optimised may be the boil- off gas. Based on the planned route and weather forecast, a boil-off gas system may predict the possible amount of gas that can be generated in LNG tanks along the journey. Multiobjective optimization may focus on effective use of generated boil-off gas in the LNG tanks in collaboration with the route optimization, a power management system that takes into account on ETA, environmental conditions, power demand, selected fuel type for multi fuel engines, and the weather forecast. Some or all of these functions may be functions to be optimised or indeed may be formulated as constraints (e.g. to optimise the power plant and boil-off). The exact nature of whether a particular parameter is formulated from the point of view of the processes discussed herein as a function to be optimised or as a constraint to be satisfied will depend on the implementation as the skilled person will appreciate.
[0085] Alternatively, the boil-off gas range may be a constraint to the objective function of optimising the power plant, depending on the implementation (e.g. the constraint may be to maintain the boil-off gas within a certain range).
[0086] In examples where the vessel is an inland vessel, there may be uncertainties from waterway traffic, tides, water depth, speed limits etc. and due to these dynamic navigation conditions, the optimization may consider different aspects to identify a solution that meets the constrains and objectives of the various systems. Hence, for these vessels any number of functions may be optimised subject to the appropriate constraints. Such objective functions may be maximised logistics, minimised energy consumption, minimised emissions, and maximised safety. Thus, it should be appreciated that the disclosure is not limited to any specific type of vessel nor any specific type of vessel objective. Different vessels may be associated with different functions to be optimised and different objectives that are specific to that vessel and therefore a wide range of objective functions may be optimised, since such functions may depend on the vessel type and / or the vessel task. Similarly, it should be appreciated that the disclosure is not limited to any specific type of constraint. In one example, the constraints may be related to a particular operating range or parameter to drive a particular component of the vessel such as an RPM range of an engine but in other examples the constraint may not relate to operating parameters but rather values such as efficiency, heat generated, a destination or waypoint of the vessel etc. In any such example the process herein retrieves suitable stored solutions from a memory. It will thus be appreciated that suitable solutions may be retrieved depending on what is in the memory. For a given vessel achieving a complex objective optimising a large number of functions subject to restrictive constraints, a relatively small number of solutions may be retrieved and displayed. However the number of retrieved solutions is dependent on the number of stored solutions and even for more simple optimisations where large numbers of solutions may, in theory, be possible, only the number of stored solutions that optimise the one or more functions to be optimised, subject to the constraints such that the vessel objective is achieved, will be retrieved and displayed. The or each function to be optimised may be related to the vessel objective. The or each function to be optimised may be related to the type of vessel. The or each constraint may be related to the function to be optimised and / or to the vessel objective and / or to the type of vessel, depending on the implementation. For example, a user may input the vessel objective to be achieved of reaching a destination within a certain amount of time. Enroute the fuel efficiency is to be optimised subject to maintaining an RPM of the main engine to within a predetermined range. By way of another example, a user may input the vessel objective to be achieved of dynamic positioning. The greenhouse gas emissions and fuel efficiency are both to be minimised subject to the operating constraint of using a relatively low amount of battery power (e.g. battery power within a predetermined range). By way of a further example, a user may input the vessel objective of being in transit. The vessel is an LNG carrier and the route is to be optimised for the fastest arrival in addition to optimised boil-off gas and energy efficiency subject to the constraints of particular operating ranges for each component of the power system and the further constraint of using a certain type of fuel. The skilled person will appreciate, for a given vessel, what the relevant vessel objective, function(s) to be optimised, and relevant constraint(s) could be. In any case, a solution is selected according to which the vessel is controlled, and the selection of a solution may follow the process described above with respect to Figures 3 and 4, e.g. selecting the solution with a highest ranking of a predetermined criteria (e.g. safety or efficiency or lowest carbon emissions or lowest greenhouse gas emissions etc.) Due to the rapid developments of a wide variety of power and propulsion architectures from mechanical to electrical and hybrid propulsion, an energy management system (“EMS”) may need to adapt to the different architectures, missions that keeps changing. Using DMOO as described herein helps to modulate the ship energy production, considering trade-off between multiple conflicting operating goals, for instance: fuel savings, the maintenance costs of onboard assets, emission, safety etc. This disclosure uses DMOO as part of an optimization strategy for an energy management system onboard ships with multiple propulsion and power generation options, where objectives are conflicting, and their importance varies with the current operation mode. The present disclosure solves this problem with adjustable weight factors as described above, where the objective functions may be computed based on the power delivered by producers, number of producers / heavy consumers running, etc., and where the weight factors may be adjusted based on the operational mode and preferences.
[0087] It will be appreciated that, although the claims recite a system, such a system may comprise the controller 200 and / or any one or more of the components of Figure 1 (e.g. the individual modules described above).
[0088] The controller 200 may be all or part of an energy management system.
[0089] The controller 200 may comprise processing circuitry configured to cause the controller 200 to operate according to a process, or to perform a process - for example the processes 300 as described above. The processing circuitry may be implemented according to any suitable hardware and / or software combination sufficient to cause such a process to be executed. For instance the processing circuitry may be implemented on, or on any suitable combination of, a digital signal processor, field programmable gate array, and / or application specific integrated circuit (ASIC). The processing circuitry may be configured to execute instructions, such as processor control code, that, cause the controller 200 to operate according to the process. Such instructions may be stored on a non-transitory machine- readable medium. Such instructions may be stored in a memory. Such instructions may be stored on any suitable memory medium, e.g. on a volatile or non-volatile medium, programmed memory (e.g. read-only memory such as firmware), or a data carrier. The processing circuitry may comprise such a memory storing the instructions. In other words, a non-transitory machine-readable medium may store instructions that, when executed by processing circuitry, cause the process 300 to be performed. The instructions may comprise code or microcode. The instructions, when executed, may be in any suitable programming language to allow the controller 200 to be dynamically configured and / or reconfigured. The controller and / or processing circuitry may equally comprise, and may therefore be referred to as, a processor, microcontroller or microprocessor. The person skilled in the art realizes that the present disclosure by no means is limited to what is explicitly described above. On the contrary, many modifications and variations are possible within the scope of the appended claims. Additionally, variations can be understood and effected by the skilled person in practicing the claimed invention, from a study of the drawings, the disclosure, and the appended claims.
Claims
CLAIMS1. A system for selecting a set of vessel parameters to be used to control a component of a marine vessel to perform a task, the system configured to: obtain data indicating a vessel objective, being an objective that the marine vessel is to achieve using the component of the marine vessel performing the task; retrieve, from a memory, a set of solutions, wherein each solution in the set is a nondominated solution to an optimisation problem where the vessel objective is achieved such that a first objective function is optimised subject to a set of constraints, each solution comprising at least one vessel parameter value relating to the component of the marine vessel; obtain input selecting one solution from the retrieved set; and determine an instruction to control the component of the marine vessel to operate based on the selected solution.
2. The system of claim 1 , the system being configured to: obtain data indicating the first objective function to be optimised.
3. The system of claim 1 or 2, the system being configured to: obtain data indicating the set of constraints.
4. The system of any preceding claim, wherein each solution in the set is a nondominated solution to a multi-objective optimisation problem where the vessel objective is achieved such that a plurality of objective functions are optimised subject to a set of constraints.
5. The system of claim 4, the system being configured to: obtain data indicating a plurality of objective functions to be optimised.
6. The system of claim 4 or 5, the system being configured to: obtain data indicating the set of constraints.
7. The system of any preceding claim, the system being configured to: rank retrieved set of solutions based on a predetermined criterion; and cause the ranked set of solutions to be displayed together with data indicating their ranking.
8. The system of claim 7 wherein the instruction to control the component of the marine vessel to operate is based on the solution with the highest ranking.
9. The system of any preceding claim, the system being configured to: obtain data indicating that at least one objective function is to be adjusted and, in response: retrieve, from a memory, a new set of solutions where the vessel objective is achieved such that the new objective function is optimised.
10. The system of any preceding claim, the system being configured to: obtain data indicating that at least one constraint is to be adjusted and, in response: retrieve, from a memory, a new set of solutions where the vessel objective is achieved such that at least one objective function is optimised subject to the new constraint.11 . The system of any preceding claim, the system being configured to: obtain data indicating that a parameter associated with the task that the vessel component is to perform, or associated with the objective that the vessel is to complete, has changed and, in response: retrieve, from a memory, a new set of solutions, wherein each solution in the set is a nondominated solution to an optimisation problem where the new vessel objective is achieved such that at least one objective function is optimised subject to a set of constraints.
12. The system of any preceding claim, the system being configured to: obtain data indicating a vessel state, wherein each solution in the retrieved set is associated with the vessel state.
13. The system of any preceding claim, the system being configured to: obtain data indicating a vessel state, wherein a predetermined number of sets of solutions are retrieved, the predetermined number being based on the vessel state.
14. The system of claim 12, wherein the vessel state is one of: port, harbour, transit, maintaining vessel position, dynamic positioning, position keeping (DP) standby, position keeping (DP), performing an operation with a piece of equipment, manoeuvring, towing, loading, unloading.
15. The system of any preceding claim, the system being configured to: determine the set of solutions.
16. The system of any preceding claim, the system being configured to: determine a measure of the impact of controlling the component of the marine vessel to operate based on the selected solution and compare the measure of the impact to a predetermined threshold, and if the measure of impact is less than the predetermined threshold, the system is configured to at least one of: retrieve a new set of solutions where the vessel objective is achieved such that the new objective function is optimised; and determine a new set of solutions where the vessel objective is achieved such that the new objective function is optimised.
Citation Information
Patent Citations
Multi-objective optimization method for unmanned ship and intelligent integrated control system for unmanned ship
CN110737267A
A communication apparatus for adapting an actual route of a vessel
EP3330666A1
Dynamic adaption of vessel trajectory using machine learning models
US11119250B2
Method and system for determination of a route for a ship
US20150149074A1