Open cyrilbouvier opened 7 months ago
Désolé, je ne suis pas favorable à l'ajout de cette nouvelle option.
ibexopt
(contrairement à optimizer04
par exemple) est conçu pour être l'optimiseur par défaut utilisable par un non-expert en optimisation globale.
Toutes les options actuellement définies dans ibexopt
sont des options qui sont compréhensibles par l'utilisateur et qui "concernent" l'utilisateur, c.a.d., des options qui sont relatives aux propriété des résultats qu'il attend (précision sur l'objectif, rigueur dans la satisfaction des égalités, etc.).
Là il s'agit d'une option relative au mécanisme de résolution, c'est très différent.
Je pense que c'est intéressant de pouvoir changer de bissecteur dans ibexopt , sans passer par l'optimiseur générique. Le bissecteur par défaut est en effet le paramètre le moins robuste : par exemple, kall_congruentcircles_c71 n'est pas résolu avec le bissecteur par défaut lsmear en 7200s et est résolu avec smearsum en 78s. C'est encore plus vrai pour les problèmes minlp. Des optimiseurs comme SCIP ou gurobi sous AMPL donnent accès à de nombreux paramètres , dont certains sont algorithmiques, par exemple SCIP permet de paramétrer la bissection sur les variables binaires par le paramètre branch:preferbinary (preferbinary) 0/1: whether branching on binary variables should be preferred
Oui, tu as raison; et on pourrait proposer dans l'aide une option --advanced
qui indiquerait les paramètres algorithmiques, histoire de ne pas noyer l'utilisateur lambda.
Mais du coup, pourquoi ne pas avoir carrément un seul optimiseur?
Backported code from qibex branch of @bneveu 's repo: https://github.com/bneveu/ibex-lib/tree/qibex
This code add a bisector option in ibexopt.
Notes:
ibexopt --bisector idonotexist bchfile
uses the default bisector and output