Algorithm: maximize sum of increasing functions

Click For Summary

Discussion Overview

The discussion centers around finding an algorithm to maximize the sum of increasing functions under a constraint on their indices. Participants explore the problem of selecting integers for multiple increasing functions such that their sum does not exceed a specified limit, with a focus on algorithmic approaches suitable for small values of the number of functions.

Discussion Character

  • Exploratory
  • Technical explanation
  • Mathematical reasoning

Main Points Raised

  • David introduces the problem of maximizing the sum of increasing functions, specifying the constraint on the indices and the typical size of the functions.
  • David clarifies that he aims to maximize $\sum_{i=1}^m f_i(n_i)$, correcting an earlier omission of the index.
  • One participant suggests the Downhill Simplex method (Nelder-Mead) as a potential algorithm for the optimization problem.
  • David expresses interest in the Downhill Simplex method but notes the need for an optimum solution as part of a larger optimization algorithm, raising concerns about how heuristic solutions will integrate with other components.

Areas of Agreement / Disagreement

Participants have not reached a consensus on a specific algorithm, and the discussion includes varying perspectives on the applicability of the Downhill Simplex method to the problem presented.

Contextual Notes

The discussion does not clarify the relationship between the different functions or how they interact within the optimization framework, leaving some assumptions unaddressed.

Pereskia
Messages
15
Reaction score
2
Hi!

(Not sure which forum to pick for this question. This looked like the best one. I apologies if it is not)

I have a number of functions (say m functions) with integer domain. All functions are increasing. (Increasing in the sense not decreasing, $f(n+1) \ge f(n)$.) I want an algorithm to find $n_i$ for $1 \le i \le m$ such that $\sum_i^m n_i \le N$ that maximizes $\sum_i^m f(n_i)$.

$m$ is usually small (2 or 3) but can be larger as well and $m$ = 2 can be solved reasonably fast by exhaustive search, $m\ge3$ takes more time. Typically $N\approx 500$.

Is there any known algorithm?

Regards
David
 
Mathematics news on Phys.org
Pereskia said:
Hi!

(Not sure which forum to pick for this question. This looked like the best one. I apologies if it is not)

I have a number of functions (say m functions) with integer domain. All functions are increasing. (Increasing in the sense not decreasing, $f(n+1) \ge f(n)$.) I want an algorithm to find $n_i$ for $1 \le i \le m$ such that $\sum_i^m n_i \le N$ that maximizes $\sum_i^m f(n_i)$.

$m$ is usually small (2 or 3) but can be larger as well and $m$ = 2 can be solved reasonably fast by exhaustive search, $m\ge3$ takes more time. Typically $N\approx 500$.

Is there any known algorithm?

Regards
David

Hi Pereskia! Welcome to MHB! (Wave)

How do the different functions tie in?
I only see the single $f$, so we seem to have $m$ numbers instead of $m$ functions.
 
Hi!

Sorry, I want to maximize $\sum_{i=1}^m f_i(n_i)$. I lost the index $i$.

Regards
David
 
I like Serena said:
Then I think you are looking for the Downhill Simplex method (Nelder-Mead), which is also called the Amoeba method.

Thank you. I will add this method to my tool box.

I will however need the optimum in this case. It will be one part of a larger optimization algorithm. I don't know how the other parts will work with heuristic solutions to the subproblems.

Regards
David
 

Similar threads

  • · Replies 3 ·
Replies
3
Views
1K
  • · Replies 2 ·
Replies
2
Views
1K
Replies
7
Views
2K
  • · Replies 6 ·
Replies
6
Views
3K
Replies
9
Views
3K
  • · Replies 125 ·
5
Replies
125
Views
20K
Replies
3
Views
2K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 24 ·
Replies
24
Views
5K
  • · Replies 18 ·
Replies
18
Views
4K