Calculateur d'alligation — Ratio de mélange et quantités
Trouve le ratio pour mélanger un ingrédient bon marché et un ingrédient cher (ou une concentration faible et élevée) pour atteindre une valeur cible, plus la quantité exacte de chacun. Calculateur d'alligation alternatif gratuit avec un diagramme croisé travaillé.
Calculateur d'alligation
Saisis la valeur de l'ingrédient bon marché, l'ingrédient plus cher (plus coûteux) et la valeur du mélange cible. L'outil retourne le ratio dans lequel les mélanger — et les quantités exactes si tu donnes une quantité totale.
Valeurs d'entrée
Résultats
Ratio de mélange
Quantités
Croix d'alligation
Formule d'alligation
10.00 : 10.00 = (30.00 − 20.00) : (20.00 − 10.00)
Composition du mélange
Documentation
Ce que cet outil fait (ELI5)
Tu as deux choses de valeur différente — une bon marché et une chère — et tu veux les mélanger pour obtenir un mélange à une valeur cible entre les deux. L'alligation te dit combien de chacune utiliser.
Pense à une balançoire. La valeur cible est le pivot. L'ingrédient dont la valeur est loin de la cible doit être en petite quantité, et celui proche de la cible doit être en grande quantité, pour que les deux côtés s'équilibrent. L'alligation est juste l'arithmétique de cet équilibre.
Saisis trois nombres — la valeur moins chère, la valeur plus chère et la cible — et l'outil te donne :
- le ratio de mélange (par ex. 1 : 2, signifiant 1 partie moins chère pour 2 parties plus chères),
- les quantités exactes de chaque ingrédient une fois que tu saisis la quantité totale,
- un diagramme croisé et un graphique de composition pour que tu puisses voir le mélange.
« Valeur » peut être un prix, un pourcentage de force ou une concentration (%, mg/mL, p/v) — n'importe quoi mesuré sur une échelle cohérente.
La formule
Avec une valeur moins chère C, une valeur plus chère D et une valeur de mélange cible M où C < M < D :
Les parties de chaque ingrédient proviennent de la différence opposée — plus la cible est éloignée d'un ingrédient, plus tu as besoin de l'autre ingrédient. Si tu connais aussi la quantité totale Q :
La croix d'alligation
La façon classique de présenter cela est la « croix » : place les deux valeurs d'ingrédient à gauche, la cible au milieu, et soustrais le long de chaque diagonale. Chaque différence aboutit au coin opposé et devient les parties de cet ingrédient.
1 Dearer (D) ───────┐ ┌─────── (M − C) = dearer parts
2 ╲ ╱
3 Target (M)
4 ╱ ╲
5 Cheaper (C) ───────┘ └─────── (D − M) = cheaper parts
6Exemple travaillé
Mélanger un ingrédient à 10 pour vendre à 20$ :
Parties égales. Pour 100 unités au total, c'est 50 du moins cher et 50 du plus cher — et la valeur du mélange est exactement 20 et le ratio devient 5 : 15 = 1 : 3 : plus la cible est proche de la valeur plus chère, plus tu as besoin d'ingrédient plus cher.
Alligation alternatif vs alligation médial
- Alligation alternatif (ce que cet outil fait) — tu connais les deux valeurs d'ingrédient et la cible, et tu résous le ratio.
- Alligation médial — tu connais les quantités et les valeurs des ingrédients, et tu résous la valeur du mélange résultant. C'est juste la moyenne pondérée : .
Les deux sont inverses l'un de l'autre, ce qui est un bon moyen de vérifier ton travail : repose les quantités que cet outil te donne dans une moyenne pondérée et tu devrais atteindre ta cible.
Où c'est utilisé
- Préparation pharmaceutique — mélanger une préparation à haute et à faible concentration (par ex. une solution à 70% et une à 20%) à une concentration prescrite. Les valeurs sont des pourcentages ou mg/mL plutôt que des dollars ; l'arithmétique est identique.
- Commerce et tarification — mélanger un stock bon marché et premium pour atteindre un coût unitaire ou un prix de vente cible.
- Chimie et alimentation/boisson — diluer ou enrichir à une concentration, degré ou Brix cible.
Parce que la règle ne nécessite qu'une seule valeur sur une échelle cohérente, les trois mêmes entrées couvrent tous ces cas.
Comment l'utiliser
- Saisis la valeur moins chère, la valeur plus chère et la valeur du mélange cible (toute unité cohérente).
- Saisis éventuellement la quantité totale pour obtenir la quantité exacte de chaque ingrédient.
- Lis le ratio, le ratio simplifié et les quantités ; le diagramme croisé et le donut montrent la répartition.
Les entrées se synchronisent avec l'URL de la page, tu peux donc créer un signet ou partager une configuration exacte. La cible doit se situer strictement entre les deux valeurs d'ingrédient — sinon, aucun mélange des deux ne peut l'atteindre, et l'outil te le dit.
Calculer en code
Chaque extrait prend la valeur moins chère c, la valeur plus chère d, la cible m et la quantité totale q, et retourne les deux parties et les deux quantités.
Excel
En supposant que C2 = moins cher, D2 = plus cher, M2 = cible, Q2 = quantité totale :
1=D2-M2 ' cheaper parts (D − M)
2=M2-C2 ' dearer parts (M − C)
3=(D2-M2)/((D2-M2)+(M2-C2))*Q2 ' cheaper amount
4=(M2-C2)/((D2-M2)+(M2-C2))*Q2 ' dearer amount
51def alligation(c, d, m, q=None):
2 if not (c < m < d):
3 raise ValueError("need cheaper < target < dearer")
4 cheaper_parts, dearer_parts = d - m, m - c
5 total = cheaper_parts + dearer_parts
6 if q is None:
7 return cheaper_parts, dearer_parts
8 return cheaper_parts / total * q, dearer_parts / total * q
91function alligation(c, d, m, q) {
2 if (!(c < m && m < d)) throw new Error("need cheaper < target < dearer");
3 const cheaper = d - m, dearer = m - c, total = cheaper + dearer;
4 return q == null
5 ? { cheaper, dearer }
6 : { cheaperAmount: (cheaper / total) * q, dearerAmount: (dearer / total) * q };
7}
81double[] alligation(double c, double d, double m, double q) {
2 if (!(c < m && m < d)) throw new IllegalArgumentException("need c < m < d");
3 double cheaper = d - m, dearer = m - c, total = cheaper + dearer;
4 return new double[] { cheaper / total * q, dearer / total * q };
5}
61(double cheaper, double dearer) Alligation(double c, double d, double m, double q)
2{
3 if (!(c < m && m < d)) throw new ArgumentException("need c < m < d");
4 double cp = d - m, dp = m - c, total = cp + dp;
5 return (cp / total * q, dp / total * q);
6}
71#include <stdexcept>
2#include <utility>
3std::pair<double, double> alligation(double c, double d, double m, double q) {
4 if (!(c < m && m < d)) throw std::invalid_argument("need c < m < d");
5 double cheaper = d - m, dearer = m - c, total = cheaper + dearer;
6 return { cheaper / total * q, dearer / total * q };
7}
81func Alligation(c, d, m, q float64) (float64, float64, error) {
2 if !(c < m && m < d) {
3 return 0, 0, errors.New("need c < m < d")
4 }
5 cheaper, dearer := d-m, m-c
6 total := cheaper + dearer
7 return cheaper / total * q, dearer / total * q, nil
8}
91fn alligation(c: f64, d: f64, m: f64, q: f64) -> Option<(f64, f64)> {
2 if !(c < m && m < d) { return None; }
3 let (cheaper, dearer) = (d - m, m - c);
4 let total = cheaper + dearer;
5 Some((cheaper / total * q, dearer / total * q))
6}
71function alligation($c, $d, $m, $q) {
2 if (!($c < $m && $m < $d)) throw new InvalidArgumentException('need c < m < d');
3 $cheaper = $d - $m; $dearer = $m - $c; $total = $cheaper + $dearer;
4 return [$cheaper / $total * $q, $dearer / $total * $q];
5}
61def alligation(c, d, m, q)
2 raise ArgumentError, "need c < m < d" unless c < m && m < d
3 cheaper, dearer = d - m, m - c
4 total = cheaper + dearer
5 [cheaper / total * q, dearer / total * q]
6end
71alligation <- function(c, d, m, q) {
2 stopifnot(c < m, m < d)
3 cheaper <- d - m; dearer <- m - c; total <- cheaper + dearer
4 c(cheaper = cheaper / total * q, dearer = dearer / total * q)
5}
6Questions fréquemment posées
Que faire si la cible n'est pas entre les deux valeurs ? Alors aucun mélange des deux ne peut l'atteindre — un mélange d'un article à 10 aboutit toujours entre 10. L'outil signale cela au lieu de retourner un ratio faux.
L'unité a-t-elle de l'importance ? Non. Le ratio dépend uniquement des différences sur une échelle cohérente, donc les prix, pourcentages et mg/mL fonctionnent tous — garde simplement les trois entrées dans la même unité.
Puis-je l'utiliser pour trois ingrédients ou plus ? Cet outil traite le cas à deux ingrédients. Les problèmes avec trois composants ou plus ont de nombreuses réponses valides et sont généralement résolus en appairant les ingrédients ou avec des équations linéaires.
L'alligation est-elle la même chose qu'une moyenne pondérée ? Ce sont des inverses. Une moyenne pondérée (alligation médial) transforme les quantités en valeur de mélange ; l'alligation alternatif transforme une valeur cible en quantités.
Sources
- Alligation — Wikipedia — définitions d'alligation alternatif et médial et la règle sous-jacente.
- Alligation Calculator — Omni Calculator — la forme basée sur la concentration utilisée en pharmacie, avec des exemples travaillés.
- Pharmaceutical calculations by alligation method — EGPAT — explication première des principes de la croix d'alligation pour la préparation.