esa / esa/pygmo2

[FEATURE] Add batch_fitness support to pg.unconstrain()ed problems

Open
#63 1 comment 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
C++
Stars
536
Forks
74
PR merge metrics
No merged PRs in 30d

Description

**Is your feature request related to a problem? Please describe.**
I am trialling pygmo2 with a constrained optimisation problem, where each function evaluation takes a few minutes but I can write a highly parallel batch_fitness function. I've implemented a batch_fitness method in my problem, and want to use PSO to optimise it. Since PSO doesn't support constraints I run problem = pg.unconstrain(problem). Running my code then throws:

`what: The batch_fitness() method has been invoked, but it is not implemented in a UDP of type ' [unconstrained]'`

This was already on the radar [here](https://github.com/esa/pagmo2/issues/283).

Contributor guide

No contributing guide indexed for this repository

Research direction

Start at the pg.unconstrain() implementation and trace how batch_fitness() is dispatched for the wrapped problem. Reproduce the reported case with a constrained problem using PSO and a batch_fitness method. Done means the unconstrained problem supports batch_fitness without the reported exception.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
api
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.