[pve-devel] [PATCH proxmox-resource-scheduling 1/3] initial commit
DERUMIER, Alexandre
Alexandre.DERUMIER at groupe-cyllene.com
Tue Nov 15 16:39:58 CET 2022
Thanks Fiona for your hard work on this !
I'm going to review/test them this week.
I'm not an expert in Rust, but I think I'll be able to read the code
Just a question, how do you choose the weight of different criteria ?
I think in the second patch, I see:
+ static ref PVE_HA_TOPSIS_CRITERIA: TopsisCriteria<N_CRITERIA> =
TopsisCriteria::new([
+ TopsisCriterion::new("average CPU".to_string(), -1.0),
+ TopsisCriterion::new("highest CPU".to_string(), -2.0),
+ TopsisCriterion::new("average memory".to_string(), -5.0),
+ TopsisCriterion::new("highest memory".to_string(), -10.0),
+ ])
Is is arbitrary values ?
if you look at my previous patch series,
https://lists.proxmox.com/pipermail/pve-devel/2022-April/052779.html
I have also implement the AHP algo. (from AHP-TOPSIS), which is really
usefull to find weights for criteria, when you begin to have a lot of
criterias, giving priority in a matrix between each criterias.
here a youtube video about the math:
https://www.youtube.com/watch?v=J4T70o8gjlk&t=456s
(I had implemented AHP to dynamic find the weights on service start, we
the weight could be compute once, and set statically)
Le jeudi 10 novembre 2022 à 15:37 +0100, Fiona Ebner a écrit :
> Implement the TOPSIS[0] algorithm to score multi-valued alternatives
> according to a given set of weighted criteria.
>
> The number of alternatives cannot be known at compile time, but the
> number of criteria should be (a given module using the topsis module
> should have one (or more) fixed sets of criteria). Therefore, the
> TopsisMatrix is implemented as a Vec of N_CRITERIA-sized arrays.
>
> Compared to the description in [0] the weighing of the matrix
> according to the weights of the criteria only happens during distance
> calculation to the idealized alternatives. It turned out more natural
> like that, because the matrix doesn't need to be mutable.
>
>
More information about the pve-devel
mailing list