$I_1min$

$I_1max$

I_1

I_2

I_3

I_4

R_1

R_2

R_3

R_4

S_1

S_2

C_1

C_2

Panneau solaire
(fournit du CC)

$I_3$ et $I_4$ sont constantes. Ici $I_3+I_4=6\,A$ 
Comme $I_1+I_2=I_3+I_4$ par la loi des noeuds,
$I_1+I_2$ est donc constant, égal à 6 et on a: $I_2=6-I_1$

On cherche à minimiser la puissance dissipée par effet Joule:
$\boxed{P=R_1.I_1^2+R_2.I_2^2+R_3.I_3^2+R_4.I_4^2}$

Sachant que les générateurs des sources $S_1$ et $S_2$ 
imposent des intensités maximales, on a les contraintes :
             $I_1 min\leq I_1\leq I_1 max$

$I_1$

Remarque :
E admet un minimum sur $\mathbb{R}$ lorsque $I_1$ vaut : 
$K\times \frac{R_2}{R_1+R_2}$
Or :
$0<K\times \frac{R_2}{R_1+R_2}<K$
Donc le minimum local est toujours le minimum global... 

$I_1$

$I_1$

$I_2$

K = 6 (slider from 2 to 10, step 0.5)
U = Point(yAxis)
W: U + (K, 0)
MI2max = Point(Segment[U, W])
MI1max = Point(Segment[U, W])
c = 1 (slider from 0 to 8, step 0.1)
R_2 = 0.09 (slider from 0.01 to 0.2, step 0.01)
R_1 = 0.14 (slider from 0.01 to 0.2, step 0.01)
EJ(x) = (R_1 * x^(2)) + (R_2 * (K - x)^(2)) + c
S = (-9.300191232854583, 0.4927267192147458)
M = (-10, 0)
N = (0, 0)
f = Segment(M, N)
A = Midpoint(f)
g = OrthogonalLine(A, f)
B = (-6.333713321281, 0.3394633574312204)
B'_1 = Mirror(B, g)
B' = Mirror(B, f)
B'' = Mirror(B', g)
q1, b, b', b'', b'_1 = Polygon(B, B', B'', B'_1)
C = Intersect(f, b)
h = Segment(M, C)
E = Point(h)
c_1 = Circle(E, S)
j = OrthogonalLine(M, h)
PtHachures1 = Point(j)
E' = Mirror(PtHachures1, M)
l = Segment(E', PtHachures1)
k = OrthogonalLine(PtHachures1, j)
F = Point(k)
F' = Mirror(F, f)
q2, f_1, f', e', e = Polygon(F, F', E', PtHachures1)
PtHachures2 = Point(f_1)
hachuresTerre = Sequence(Segment[Translate[PtHachures2, Vector[(k * Vector[PtHachures1, M])]], Translate[PtHachures1, Vector[(k * Vector[PtHachures1, M])]]], k, 0, 2, 0.25)
D = Intersect(f, b'')
i = Segment(D, N)
H = Midpoint(h)
m = Segment(PtHachures1, PtHachures2)
Noeud = (-14.560027974566221, 5.429260401846088)
CircuitBasein: {hachuresTerre, q1, b, b', b'', b'_1, h, i, l, c_1}
α = 0.2722713633111154 rad (slider from 10° to 60°)
l4r = Translate({Rotate[CircuitBasein, α], Rotate[CircuitBasein, (-α)], Rotate[CircuitBasein, 180° + α], Rotate[CircuitBasein, 180° - α]}, Noeud)
PointsCourant = Translate({Rotate[{M, C}, α], Rotate[{M, C}, (-α)], Rotate[{M, C}, 180° + α], Rotate[{M, C}, 180° - α]}, Noeud)
I = Point(PointsCourant)
J = Point(PointsCourant)
n = Segment(I, J)
K_0 = Point(PointsCourant)
L = Point(PointsCourant)
p = Segment(K_0, L)
O = Point(PointsCourant)
P = Point(PointsCourant)
q = Segment(O, P)
Q = Point(PointsCourant)
R = Point(PointsCourant)
r = Segment(Q, R)
lc = Translate({n, p, q, r}, (0, 0))
R_3 = 0.2 (slider from 0.05 to 0.2, step 0.05)
R_4 = 0.2 (slider from 0.05 to 0.2, step 0.05)
Circuitsortie: {hachuresTerre, q1, b, b', b'', b'_1, h, i, l}
l1 = Translate({Rotate[CircuitBasein, α], Rotate[CircuitBasein, (-α)], Rotate[Circuitsortie, 180° + α], Rotate[Circuitsortie, 180° - α]}, Noeud)
MI_1 = Point(Segment[MI2max, MI1max])
I_1: x(MI_1)
EffetJoule: (R_1 * I_1^(2)) + (R_2 * (K - I_1)^(2)) + c
M_1: (I_1, EffetJoule)
EJ_2(x) = (R_2 * x^(2)) + (R_1 * (K - x)^(2)) + c
M_2: (K - I_1, EJ_2(K - I_1))
s(x) = If[x(MI2max) ≤ x ≤ x(MI1max), EJ]
T: (I_1, 0)
t = Segment(T, M_1)
hr = 0.7 (slider from 0.1 to 1, step 0.1)
V: U + (0, hr)
Z: W + (0, hr)
u = Vector(U, V)
MI2max' = Translate(MI2max, u)
A_1 = Translate(MI_1, u)
MI1max' = Translate(MI1max, u)
q3, u_1, mi_1, a_1, v = Polygon(U, MI_1, A_1, V)
q4, a, w, z_1, d = Polygon(MI_1, W, Z, A_1)
g_1 = Segment(MI2max, MI2max')
h_1 = Segment(MI1max, MI1max')
B_1 = Midpoint(v)
C_1 = Midpoint(mi_1)
D_1 = Midpoint(w)
E_1 = Midpoint(D_1, C_1)
F_1 = Midpoint(B_1, C_1)
G = Min(EJ, 0, K)