opytimizer.optimizers.science.hgso

Henry Gas Solubility Optimization.

class opytimizer.optimizers.science.hgso.HGSO(params: Optional[Dict[str, Any]] = None)

An HGSO class, inherited from Optimizer.

This is the designed class to define HGSO-related variables and methods.

References

F. Hashim et al. Henry gas solubility optimization: A novel physics-based algorithm. Future Generation Computer Systems (2019).

__init__(params: Optional[Dict[str, Any]] = None) → None

Initialization method.

Parameters:params – Contains key-value parameters to the meta-heuristics.
n_clusters

Number of clusters.

l1

Henry’s coefficient constant.

l2

Partial pressure constant.

l3

Constant.

alpha

Influence of gases.

beta

Gas constant.

K

Solubility constant.

coefficient

Array of coefficients.

pressure

Array of pressures.

constant

Array of constants.

compile(space: opytimizer.core.space.Space) → None

Compiles additional information that is used by this optimizer.

Parameters:space – A Space object containing meta-information.
_update_position(agent: opytimizer.core.agent.Agent, cluster_agent: opytimizer.core.agent.Agent, best_agent: opytimizer.core.agent.Agent, solubility: float) → numpy.ndarray

Updates the position of a single gas (eq. 10).

Parameters:
  • agent – Current agent.
  • cluster_agent – Best cluster’s agent.
  • best_agent – Best agent.
  • solubility – Solubility for current agent.
Returns:

An updated position.

Return type:

(np.ndarray)

update(space: opytimizer.core.space.Space, function: opytimizer.core.function.Function, iteration: int, n_iterations: int) → None

Wraps Henry Gas Solubility Optimization over all agents and variables.

Parameters:
  • space – Space containing agents and update-related information.
  • function – A Function object that will be used as the objective function.
  • iteration – Current iteration.
  • n_iterations – Maximum number of iterations.