• Aucun résultat trouvé

Modélisation des préférences

4.2 Exploitation du modèle de préférence

4.2.1 Un problème d'optimisation sous contraintes

Dans notre problématique, on veut trouver l'alternative préférée, au sens de l'imprimeur.

On se place dans le cadre de la décision solitaire dans le certain, c'est-à-dire que l'imprimeur sélectionne seul une solution préférée parmi un ensemble d'alterna-tives, dont les eets sont connus de façon certaine.

Le modèle de préférence étant xé, on peut considérer ce problème, de prime abord, comme un problème de satisfaction de contraintes exibles (SCSP pour Soft Constraint Satisfaction Problem). Nous faisons ici un bref rappel sur les CSP et CSP exibles.

Un problème d'optimisation...

Choisir la conguration préférée peut être vu comme un problème d'optimisation sous contraintes. En eet, quelle que soit la politique d'impression sélectionnée, l'imprimeur cherche toujours à minimiser :

 les marges (hors marges matérielles, supplémentaires et d'extrémités qui sont considérées constantes)

 les coupes quand elles sont autorisées (et sinon à l'intérieur du seuil de tolé-rance)

 l'écart - si autorisé - entre le zoom désiré (par défaut 100%) et le zoom eectué On peut donc modéliser notre fonction objectif comme une fonction des marges, des coupes et du zoom, à minimiser. De plus, on ne peut pas supposer a priori une préférence quelconque quant à l'orientation des marges ou des coupes, si celles-ci sont autorisées. Par exemple, ça n'a pas de sens de préférer une marge gauche de 10cm à une marge droite, haute ou basse de 10cm. On peut donc considérer une symétrie sur les marges. De même pour les coupes. Nous supposerons également une symétrie autour du zoom désiré, de sorte qu'une réduction de 50% soit perçue de la même manière qu'une augmentation de 50%.

Nous considérons la fonction objectif fobj suivante :

minimiser fobj = α (g+ g+ g+ g) + β (c+ c+ c+ c) + γ kz− zk où α, β et γ sont des réels strictement positifs.

Rappelons que z représente le zoom désiré. ...sous contraintes

Nous modélisons les paramètres des politiques d'impression dans les paragraphes suivants.

Sélection du média

 Le cas d'un format spécique se traduit naturellement par les contraintes de taille. Soit formatX ∈ F S le format standard choisi par l'utilisateur, on a, suivant l'orientation du média :

 mh = f ormatXgrand cote ml = f ormatXpetit cote ou

 mh = f ormatXpetit cote ml = f ormatXgrand cote

 Pour une largeur de rouleau spécique, on a simplement la contrainte suivante : ml = largeur

 <Exact> les dimensions du média doivent correspondre aux dimensions de l'image i zoomée à l'échelle désirée z, au seuil de tolérance s près (la rotation étant xée). Ni marges ni coupes ne sont tolérées au-delà du seuil de tolérance. Ce paramétrage se traduit directement par un jeu de contraintes tel que :

r = 0 ou r = 180 =⇒  kz· ih− mhk ≤ 2s kz· il− mlk ≤ 2s r = 90 ou r = 270 =⇒  kz· ih− mlk ≤ 2s

kz· il− mhk ≤ 2s

Ce paramétrage n'a de sens que conjugué avec l'ajustement exact de l'image au média. On peut alors remarquer qu'en conjuguant les deux, en exploitant les marges et les coupes, on s'aranchit de la rotation :

z = z g≤ s et c ≤ s g≤ s et c ≤ s

g≤ s et c ≤ s g≤ s et c ≤ s

 <Plus_grand> les dimensions du média doivent être au moins aussi grandes que celles de l'image, permettant d'imprimer celle-ci sans en couper un bout. En même temps, le média doit être le plus petit possible, ce qui est déjà traduit dans la fonction objectif. Le média choisi sera donc le plus petit des plus grands, s'il existe. On peut traduire ce paramétrage en ajoutant les contraintes suivantes :

r = 0 ou r = 180 =⇒  z· ih < mh z· il < ml r = 90 ou r = 270 =⇒  z· ih < ml

z· il < mh

 <Plus_grand_sinon_plus_petit> idem que le paramétrage précédent sauf dans le cas où il n'existe pas de média plus grand que l'image ; il permet alors de choisir un média plus petit, en particulier le plus grand des plus petits. Il

y a ici un eet de seuil. On voit que l'on se ramène dans un premier temps au cas précédent et, s'il n'existe aucune solution, on adopte la stratégie expliquée dans le point suivant. Nous considérons cette succession conditionnelle de stra-tégies comme deux modèles distincts. Ce processus de succession éventuelle est intégrée à un méta-niveau, c'est-à-dire hors du modèle courant. Dans la suite, nous désignons ces diérents modèles sous le terme de phases.

 <Aussi_proche_que_possible> cette stratégie suppose de choisir le média dont les dimensions sont aussi proches que possible des dimensions de l'image à l'échelle demandée. La fonction objectif permet déjà de minimiser les marges, les coupes, et l'écart entre zoom obtenu et zoom désiré. Aucune contrainte sup-plémentaire n'est donc nécessaire, la fonction objectif seule sut à discriminer les diérents médias. Notons que les coecients de la fonction objectif α et β doivent être égaux an de ne favoriser ni les médias plus grands, ni les plus petits. Remarquons aussi que le terme concernant la minimisation de l'écart de zoom permet de discriminer entre deux médias ayant les mêmes proportions. Par exemple entre un A3 et un A2, si l'image est ajustée à la taille du média, les marges et coupes résultantes peuvent être égales (nulles en particulier). Il ne reste alors que ce dernier terme pour sélectionner le média le plus proche de la taille souhaitée.

Ajustement de l'image

 <Exact> spécie que l'échelle de l'image doit être absolument respectée et que l'image doit apparaître complètement sur le média. En d'autres termes, cela signie que les coupes sont interdites (au-delà du seuil) et que le zoom (100% par défaut mais cela peut être n'importe quelle valeur exacte fournie par l'imprimeur) est constant. On traduit cela par les contraintes suivantes :

z = z c ≤ s c ≤ s c ≤ s c ≤ s

réduc-tion de l'image est permise. z ≤ z c ≤ s c ≤ s c ≤ s c ≤ s

 <Zoomer_pour_ajuster> spécie que les marges doivent être minimisées, et que les coupes sont interdites. Ce paramétrage suppose que l'imprimeur préfère un zoom aussi proche du zoom demandé que possible mais que l'importance de la diérence de zoom est négligeable par rapport à celle de la diérence de marges (on ne parle pas des coupes qui sont simplement interdites) lorsque le média est plus grand que l'image. Cette préférence s'exprime dans la fonction objectif par un ratio γ

α proche de zéro. c ≤ s c ≤ s c ≤ s c ≤ s

<Couper_pour_ajuster> spécie que le zoom doit être constant (échelle 1 :1 par défaut) et permet les coupes, le moins possible évidemment. La seule contrainte à ajouter est donc celle du zoom constant :

z = z

Positionnement de l'image Les contraintes sur le positionnement décrites ici supposent une image sans cartouche. En eet, ces contraintes sont déjà présentes dans le cas inverse. Nous avons vu que le positionnement concerne les neufs positions canoniques. Dans le cas des positions du bord, on traduit le positionnement par les contraintes suivantes :

<En_haut_à_gauche> se traduit par la volonté d'obtenir des marges et des coupes nulles au-dessus et à gauche de l'image, quel que soit le média. Il faut cependant tenir compte des marges minimales dénies dans la section

3.2.3. On peut donc spécier cette volonté par l'ajout des contraintes : g = gmin

g = gmin c = 0 c = 0

Même principe pour toutes les positions des coins. <En_haut_au_milieu> se traduit de la sorte :

g = gmin g− gmin = g− gmin c = 0 c = c

Même principe pour toutes les positions de bordures centrales. <Position_centrale> peut se traduire par ce qui suit

g− gmin = g− gmin g− gmin = g− gmin c = c c = c Gestion d'erreur

<Alerte> indique juste une erreur et redonne la main à l'imprimeur. Pour traduire ce paramètre, il n'y a rien à ajouter au modèle.

<Sinon_plus_grand> permet de basculer sur la stratégie de sélection du média <Plus_grand>. Dans ce cas, il sut de passer d'un modèle à l'autre, de la même façon qu'avec la stratégie de sélection automatique de média <Plus_grand_sinon_plus_petit>.

Ajustement de la découpe

<Standard> indique que la découpe doit correspondre à un format standard. Il sut donc d'obliger les dimensions du média sélectionné à être standard, par un ltrage des médias disponibles. On place cette manipulation dans les pré-traitements.

<Synchrone> permet une découpe d'une longueur quelconque. C'est le cas général et il n'y a pas de contraintes particulière à ajouter.

Un exemple concret reprenant l'ensemble de ces contraintes est présenté dans la section C.1 de l'annexe C. Dans la section suivante, nous montrons comment trans-former le problème d'optimisation obtenu, an de le résoudre de manière ecace.