# Search for range in continuous function satisfying some condition I am attempting to define an optimization for the following problem: given two graphs find (the largest possible) areas where some condition holds.

Interesting portions are where the `R`ed graph is above the `G`reen one. All, or part, of such areas may satisfy the condition.

Googling for optimization algorithms, e.g. ones mentioned in Scipy’s optimization tutorial, returns results focusing on finding a single point, usually the min/max of some condition. I am having trouble finding algorithms that search for ranges.

The graphs`R` and `G` are KDEs generated with Gaussian functions. I can find the intersections of the graphs (e.g. with brentq and between each pair calculate `P` and `S` (the conditions). The blue vertical lines are the intersections; blue horizontal lines with text are shown only when the conditions were met for the whole range.

In many cases a subset of the range satisfies the condition as can be seen in black. Those are results from a ML algorithm which I want to replace with a numerical calculation.

Example 1: ML algo found better solution on the right section, neither found the left one interesting. Example 2: on the right you can see the ML algo suggesting a range not quite between the blue lines. I am OK with the new algo clipping the portion on the left. Example 3: showing that there may be more than one interesting range per marked section. Example 4: ML algo missed the leftmost range  Posted on Categories proxies