Création de formule à taton

Olympiades mathématiques, énigmes et défis
bonsaiko
Messages: 5
Enregistré le: 25 Mai 2015, 15:06

Création de formule à taton

par bonsaiko » 25 Mai 2015, 15:17

Bonjour à tous,

Je suis ici pour vous faire part d'un problème que m'empêche de dormir... Je vous explique:
Je dois réaliser un programme qui va générer une formule de sérum personnalisé.
En gros, l'utilisateur indique les problèmes de peu qu'il rencontre, choisit les huiles qu'il souhaite utilisé parmi celles qu'on lui suggère, et le programme lui sort la composition de son sérum (tant de ml d'huile d'onagre, tant de ml d'huile de machine et tant de ml d'huile de truc).

Jusque là ça va, je n'ai pas de souci.
Là où ça se corse, c'est qu'une fois que le programme a donné la composition, il affiche également le % en oméga 3, oméga 9,.. et il se trouve que selon le type de peau, ces pourcentages doivent se situer entre des bornes définies.

Cela veut dire par exemple, que si le gars a une peau mixte et qu'il y a trop d'oméga 3 et pas assez d'oméga 9, alors il faudra ajuster la formule. Il faudra donc rechercher quelle est l'huile qui contient le plus d'oméga 3, quelle est l'huile qui contient le plus d'oméga 9, et enlever un peu de l'une pour ajouter un peu de l'autre.

Je me demandais, plutôt que de devoir "tatonner", s'il y avait un moyen de trouver une formule adaptée en fonction du type de peu de la personne. J'ai déjà bien réfléchi et je ne vois pas. A mon sens il faut afficher le résultat et laisser l'utilisateur faire les ajustement (avec des sliders qui enlèvent un peu d'un côté pour remettre de l'autre).

Qu'en pensez-vous ?

Merci par avance de votre aide.



Avatar de l’utilisateur
Ben314
Le Ben
Messages: 21696
Enregistré le: 11 Nov 2009, 21:53

par Ben314 » 25 Mai 2015, 15:51

Salut,
Si vraiment tu as envie, on peut faire des truc un peu mathématiques avec ton truc.

Pour "visualiser" plus facilement le truc qui me vient à l'esprit, supposons qu'on a que 2 ingrédients.
Ton premier calcul conduit à dire qu'il faut x0 du premier produit et y0 du deuxième (après, ça serait peut-être utile de voir quel calcul tu fait à ce moment là pour pouvoir directement le modifier ou, au minimum, en tenir compte).
Sauf que, avec ce x0 là et ce y0 là, on "sort des bornes" d'un domaine définit (trop de Omega?)

Mathématiquement parlant, je vois ça comme un point de coordonnée (x0,y0) dans le plan qui ne fait pas parti d'un "domaine" D prédéfini du plan (en l'occurrence défini par des inégalités du type 3x+5y<=7 ou des trucs du même style).
Alors ce qu'on peut faire, mathématiquement parlant, c'est de chercher le point du domaine D le plus proche possible du point (x0,y0) de départ.
Le seul truc pas complètement clair, c'est de savoir comment on va calculer les distances entre les points du plan.
Évidement, le matheux "de base" aimerais bien que ce soit sa distance favorite, c'est à dire la distance euclidienne, mais vu le contexte, c'est pas forcément ça qui va t'intéresser : ça va dépendre de savoir pour toi qu'est ce qui présentent le mieux la notion de "distance" entre deux sérum différent (par exemple, tu pourrait considérer que tel substance n'est pas très importante donc qu'une grande variation de cette substance ne créé pas une grande différence entre deux sérums alors qu'une autre substance est très importante)
Qui n'entend qu'un son n'entend qu'une sonnerie. Signé : Sonfucius

bonsaiko
Messages: 5
Enregistré le: 25 Mai 2015, 15:06

par bonsaiko » 25 Mai 2015, 16:03

Merci de ta réponse.

En fait il y a jusque 5 huiles possibles, et chaque huile contient jusque 8 "molécules" disons.
J'ai bien compris que tu as pris seulement 2 "ingrédients" pour simplifier, et surtout pour que ce soit visuel, mais je ne sais pas si cela peut fonctionner comme tu dis, parce que chaque huile comprend des molécules, et c'est là-dessus que sont faits les tests.

Pour être plus clair:

Admettons que le sérum contienne P1 % de l'huile 1 et P2% de l'huile 2.
Or l'huile 1 contient x11 % de la molécule 1 et y12 % de la molécule 2.
Et l'huile 2 contient x21 % de la molécule 1 et y22 % de la molécule 2.

Donc au final, notre sérum contiendra (x11 + x21) % de la molécule 1 et (y12+y22) % de la molécule 2.

Et ce que l'on veut tester, c'est si x11+x21 est bien dans la bonne fourchette, et pareil pour y12+y22.

Sachant que, comme je l'ai dit plus haut, on ne s'arrête pas à 2 mais à 5 pour le nombre d'huiles, et 8 pour le nombre de molécules.

Je ne sais pas si c'est plus clair...

Est-ce que ce que tu expliquais tiens toujours dans ces conditions ?

Avatar de l’utilisateur
Ben314
Le Ben
Messages: 21696
Enregistré le: 11 Nov 2009, 21:53

par Ben314 » 25 Mai 2015, 18:40

Ca tient... oui et non...
ça va dépendre des contraintes que tu met en fait.

Déjà, effectivement, si dans mon exemple je parle de deux ingrédients uniquement, c'est juste pour que ce soit visuel : il y en aurais 50, au niveaux calculs, ça serait quasiment pareil.

Ensuite, si je comprend bien, tu as une "matrice" (i.e. un tableau de chiffres) avec 5 lignes (=huiles) et 6 colonnes(=molécules) décrivant, pour chaque huile, le taux de chaque molécules qu'elle contient.
Avec ça tu fait un mélange(=sérum) composé d'un peu de chaque huiles et l'autre truc que j'ai bien compris (c.f. ton 1er post), c'est que tu as des contraintes du style ne pas dépasser un certain taux de telle ou telle molécule.

Si tu n'as que des contraintes de ce type (des inégalités et des égalités concernant les taux de molécules dans le sérum), ç'est un problème dit "d'optimisation linéaire" (modulo que toi tu cherche peut-être pas à optimiser, mais uniquement à trouver une solution) et la méthode la plus fréquente pour résoudre ce genre de truc, il me semble que c'est l'Algorithme du simplexe
Qui n'entend qu'un son n'entend qu'une sonnerie. Signé : Sonfucius

bonsaiko
Messages: 5
Enregistré le: 25 Mai 2015, 15:06

par bonsaiko » 01 Juin 2015, 11:55

Je te remercie pour ta réponse.
Le seul hic c'est que mes cours de sup et spé sont bien loin derrière moi...
Et je n'ai aucun souvenir de cet algorithme, ça ne me dit vraiment rien du tout.

En tout cas ça ma l'air super compliqué...
Est-ce que tout cela est faisable en php à ton avis?
Est-ce qu'il y aurait une bonne âme qui voudrait bien m'aider à comprendre tout ça? Je me sens vraiment largué là...

bonsaiko
Messages: 5
Enregistré le: 25 Mai 2015, 15:06

par bonsaiko » 02 Juin 2015, 17:40

Ben314, est-ce que tu penses possible de faire tout ça en php ?
Est-ce que tu serais ok pour m'aider ? Je me sens vraiment coincé, je ne sais pas comment faire...

godzylla

par godzylla » 15 Juin 2015, 09:40

c'est un pbm d'informatique, le formulaire doit modifier la page pour ajuster la demande en fonction de la couleur de peau. tu choisis en DHTML de changer le formulaire en fonction de la couleur de peau.

après il y a les "molécules", si vus avez 5 huiles de 8 molécules.
Si chacune des huiles utilise les 8 molécules il n'y a pas de pbm.

bonsaiko
Messages: 5
Enregistré le: 25 Mai 2015, 15:06

par bonsaiko » 15 Juin 2015, 12:11

godzylla a écrit:tu choisis en DHTML de changer le formulaire en fonction de la couleur de peau.


Non, ce n'est pas aussi simple.
Il y a 4 types de peau, et chacune de ces peaux pourra utiliser les mêmes produits en fonction des problèmes rencontrés par la personne. Donc non, je n'affiche pas un formulaire différent, c'est bien le même formulaire.

En revanche, c'est le pourcentage des huiles qui diffère, selon la nature de la peau.

godzylla a écrit:Si chacune des huiles utilise les 8 molécules il n'y a pas de pbm.

??? Mais encore ?!

Avatar de l’utilisateur
fatal_error
Modérateur
Messages: 6610
Enregistré le: 22 Nov 2007, 12:00

par fatal_error » 15 Juin 2015, 13:25

je confirme simplexe.
utilise plutot une librairie ou une fonction que quelqu'un a déjà fait.

au pire si personne n'y a fait en php, tu dois bien pouvoir faire un binding ou n'importe quoi vers un autre langage où la routine existe
la vie est une fête :)

godzylla

par godzylla » 15 Juin 2015, 13:36

bonsaiko a écrit:Non, ce n'est pas aussi simple.
Il y a 4 types de peau, et chacune de ces peaux pourra utiliser les mêmes produits en fonction des problèmes rencontrés par la personne. Donc non, je n'affiche pas un formulaire différent, c'est bien le même formulaire.

En revanche, c'est le pourcentage des huiles qui diffère, selon la nature de la peau.


vous dite qu'"une fois que le programme a donné la composition...."

donc je te dit qu e le programme doit calculer directement la composition pour chaque couleur de peau. un meme formulaire qui ne lance pas les mêmes programmes en php.

simplexe est presenté comme un programme pour ajuster le contraste automatiquement dans les appareils photos?

 

Retourner vers ⚔ Défis et énigmes

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 4 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite