1
- using IntervalArithmetic, IntervalOptimisation
1
+ using IntervalArithmetic, IntervalOptimisation
2
2
using Test
3
3
4
4
@testset " IntervalOptimisation tests" begin
@@ -9,6 +9,12 @@ using Test
9
9
@test length (minimisers) == 1
10
10
@test minimisers[1 ] ⊆ - 10 .. - 9.999
11
11
12
+ # same but with maximise
13
+ global_max, maximisers = maximise (x-> x, - 10 .. 10 )
14
+ @test global_max ⊆ 9.999 .. 10
15
+ @test length (maximisers) == 1
16
+ @test maximisers[1 ] ⊆ 9.999 .. 10
17
+
12
18
global_min, minimisers = minimise (x-> x^ 2 , - 10 .. 11 , tol = 1e-10 )
13
19
@test global_min ⊆ 0 .. 1e-20
14
20
@test length (minimisers) == 1
@@ -28,6 +34,12 @@ using Test
28
34
@test length (minimisers) == 1
29
35
@test minimisers[1 ] ⊆ - 10 .. - 9.999
30
36
37
+ # same but with maximise
38
+ global_max, maximisers = maximise (x-> x, - 10 .. 10 , structure = Structure)
39
+ @test global_max ⊆ 9.999 .. 10
40
+ @test length (maximisers) == 1
41
+ @test maximisers[1 ] ⊆ 9.999 .. 10
42
+
31
43
global_min, minimisers = minimise (x-> x^ 2 , - 10 .. 11 , tol= 1e-10 , structure = Structure)
32
44
@test global_min ⊆ 0 .. 1e-20
33
45
@test length (minimisers) == 1
@@ -55,8 +67,14 @@ using Test
55
67
global_min, minimisers = minimise ( X -> ( (x,y) = X; x^ 2 + y^ 2 ), (- 10 .. 10 ) × (- 10 .. 10 ), structure = Structure )
56
68
@test global_min ⊆ 0 .. 1e-7
57
69
@test all (X ⊆ (- 1e-3 .. 1e3 ) × (- 1e-3 .. 1e-3 ) for X in minimisers)
70
+
71
+ # same but with maximise
72
+ global_max, maximisers = maximise ( X -> ( (x,y) = X; x^ 2 + y^ 2 ), (- 10 .. 10 ) × (- 10 .. 10 ), structure = Structure )
73
+ @test global_max ⊆ 199.9 .. 200
74
+ m = (9.99 .. 10 )
75
+ @test all (X ⊆ m × m || X ⊆ - m × m || X ⊆ m × - m || X ⊆ - m × - m for X in maximisers)
58
76
end
59
77
60
78
end
61
79
62
- end
80
+ end
0 commit comments