How to linearize a weighted average with a decision variable?

Matt <[email protected]>
Newsgroups gmane.comp.gnu.glpk
Message-ID <CA+jyAG816b0_pUstfenrrY2=Afw0AN_Oj0PVzCP-hKh+Y-9hOw@mail.gmail.com>
Hi all,

I'm trying to model a problem but it turned out to be non linear.

A simplified version of the model is written below. Basically it averages
the weighted value of all enabled points, provided there are exactly M
enabled points.

*max sum(i) { enabled[i] * value[i] * weight[i] } / sum(i) { enabled[i] *
weight[i] }*

*s.t. sum (i) enabled[i] = M*

- *value* is a vector of decimal numbers in [0, 1] (precomputed)
- *weight* is a vector of decimal numbers in [0, 1] (precomputed)
- *enabled* is a vector of either 0 or 1 (decision variable)

The model is very simple so I'm guessing there probably is a way to
linearize it or some workaround I'm not aware of.

Thanks,
Matt

_______________________________________________
Help-glpk mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/help-glpk
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.