J'écris un code MATLAB où je calcule le max-min. J'utilise la "fminimax" de Matlab pour résoudre le problème suivant:Recherche de max-min dans MATLAB
ki=G(i,:);
ki(i)=0;
fs(i)=-((G(i,i)*pt(i)+sum(ki.*pt)+C1)-(C2*(sum(ki.*pt)+C1)));
G: est une matrice de système. pt: est la variable d'optimisation. Lorsque la matrice système réelle est utilisée, le "fminimax" s'arrête après une itération et renvoie la valeur initiale de "pt", quelle que soit la valeur initiale de "pt", c'est-à-dire qu'aucune solution n'est trouvée. (la valeur initiale est définie comme X0 dans la documentation). Le système a les paramètres suivants: G est dans l'ordre de e-11, pt est dans l'ordre de e-1, et c1 est dans l'ordre de e-14. Lorsque j'essaie une matrice de test générée aléatoirement et différents paramètres, le "fminimax" trouve une solution au problème et tout fonctionne correctement. G dans l'ordre de e-2, pt dans l'ordre de e-2, c1 est dans l'ordre de e-7.
J'ai essayé de mettre à l'échelle le système actuel: "fminimax" a duré plus d'une itération, cependant, il restait la valeur initiale de pt, c'est-à-dire qu'il ne trouvait pas de solution.
J'ai essayé de changer la tolérance du "fminmax", en utilisant "options" [StepTolerance, OptimalityTolerance, ConstraintTolerance et functiontolerance]. Il n'y avait aucun impact du tout. toujours pas de solution.
Je pensais que le problème pourrait être que la précision de "fminimax" n'est pas si élevée, ou il ne convient pas pour résoudre le problème. Je pense que c'est aussi lent.
J'ai téléchargé CPLX, et je voulais transformer le problème max-min en programmation linéaire, en utilisant une méthode trouvée dans un livre. Cependant, quand j'ai essayé mon code sur un minimax simple, il n'a pas donné la même solution. J'ai pensé à utiliser CVX par exemple, mais le problème n'est pas convexe.
Quel pourrait être le problème?
P.S. la matrice du système, G, a différentes réalisations, j'ai essayé certaines d'entre elles. Cependant, le "fminimax" répond de la même manière pour tous, c'est-à-dire qu'il n'a pas été capable de trouver une solution adéquate.
Les questions qui nous demandent de recommander ou de trouver un livre, un outil, une bibliothèque de logiciels, un didacticiel ou une autre ressource hors site sont hors-sujet pour Stack Overflow, car elles ont tendance à attirer des réponses opiniâtres et du spam. Décrivez plutôt le problème et ce qui a été fait jusqu'à présent pour le résoudre. – dasdingonesin
@dasdingonesin J'ai modifié la question, j'espère que c'est plus approprié maintenant. Merci pour l'information. – os12