-
Notifications
You must be signed in to change notification settings - Fork 27
/
test_problems.jl
788 lines (761 loc) · 46 KB
/
test_problems.jl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
# Copyright (c) 2014: SCS.jl contributors
#
# Use of this source code is governed by an MIT-style license that can be found
# in the LICENSE.md file or at https://opensource.org/licenses/MIT.
# We don't want this file formatted because it contains lots of data.
#! format: off
using SparseArrays
# Random, feasible conic problem (no exponential or SDP cones)
# Problem data taken from https://github.com/cvxgrp/scs/blob/master/examples/raw/demo_data
function feasible_basic_conic(T)
n = 11
m = 112
z = 0
l = 100
bu = Float64[]
bl = Float64[]
ep = 0
ed = 0
q = [12]
s = Int[]
b = [
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.5, 0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.5]
c = [
-3.687045235791087894, -3.143065318037093103, 2.289111017442006180,
1.817854752120232842, 1.515395029041534336, -0.621501577833336483,
0.896216656096898490, -0.946791055758523736, 1.016669273321816114,
-0.487162812452204275, 1.000000000000000000]
colptr = [0, 101, 202, 303, 404, 505, 606, 707, 808, 909, 1010, 1012]
rowval = [
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
95, 96, 97, 98, 99, 101, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
91, 92, 93, 94, 95, 96, 97, 98, 99, 102, 0, 1, 2, 3, 4, 5, 6, 7, 8,
9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 103, 0, 1, 2,
3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
98, 99, 104, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
92, 93, 94, 95, 96, 97, 98, 99, 105, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 106, 0, 1, 2, 3,
4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
99, 107, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
93, 94, 95, 96, 97, 98, 99, 108, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 109, 0, 1, 2, 3, 4,
5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
110, 100, 111]
values = [
0.267905121455780493, -0.267905121455780493, 1.027917777157112633,
-1.027917777157112633, -2.297179456574058865, 2.297179456574058865,
-0.236264446681208273, 0.236264446681208273, -1.867877520107915412,
1.867877520107915412, 0.162954278135808150, -0.162954278135808150,
0.235147192773076164, -0.235147192773076164, 0.683684798830484719,
-0.683684798830484719, 0.392483177863985011, -0.392483177863985011,
0.924930282229331158, -0.924930282229331158, -2.159603434889884266,
2.159603434889884266, 0.032954349530355143, -0.032954349530355143,
-1.102218022704213984, 1.102218022704213984, 1.089305235192274290,
-1.089305235192274290, -0.205884695396086725, 0.205884695396086725,
0.662421406463353013, -0.662421406463353013, 0.693092774331567685,
-0.693092774331567685, -0.477841384181042939, 0.477841384181042939,
1.491230998886413417, -1.491230998886413417, 0.967521567131197524,
-0.967521567131197524, 2.911450906122811766, -2.911450906122811766,
-0.458525517948777994, 0.458525517948777994, 1.523410490461409861,
-1.523410490461409861, -0.005653356349895766, 0.005653356349895766,
-0.850527244660144954, 0.850527244660144954, -0.914427729368161080,
0.914427729368161080, -0.366414500628216067, 0.366414500628216067,
0.845776230367680237, -0.845776230367680237, -2.167303234827925085,
2.167303234827925085, -0.311201875432801589, 0.311201875432801589,
-1.343057018434765437, 1.343057018434765437, 0.329227476201254532,
-0.329227476201254532, 0.937892636329581530, -0.937892636329581530,
-1.292149283676578220, 1.292149283676578220, 0.727475864828183827,
-0.727475864828183827, -0.865828722236433812, 0.865828722236433812,
-0.712336606310262854, 0.712336606310262854, -1.416761181304521111,
1.416761181304521111, 0.065959446153038476, -0.065959446153038476,
0.538493444004808364, -0.538493444004808364, -0.117595299877949297,
0.117595299877949297, -0.280761797896251886, 0.280761797896251886,
-0.375803478543587532, 0.375803478543587532, 0.359440188545873895,
-0.359440188545873895, 0.102984464805364467, -0.102984464805364467,
0.677264337807959915, -0.677264337807959915, 1.688890914825171841,
-1.688890914825171841, 1.415133737581891982, -1.415133737581891982,
-0.260722295562210549, 0.260722295562210549, 0.105168432618356816,
-0.105168432618356816, -1.000000000000000000, 1.889555946293464350,
-1.889555946293464350, -0.360701715826208469, 0.360701715826208469,
-0.791169413590648185, 0.791169413590648185, -0.750549444160155899,
0.750549444160155899, -0.607358855980370871, 0.607358855980370871,
-0.277021092833852400, 0.277021092833852400, -0.203825835441055647,
0.203825835441055647, -0.090812111090438824, 0.090812111090438824,
0.840648343850716073, -0.840648343850716073, 2.366017834555732335,
-2.366017834555732335, 0.311512251535443596, -0.311512251535443596,
1.294136754697726044, -1.294136754697726044, 1.721966354400402466,
-1.721966354400402466, -0.394704235668438097, 0.394704235668438097,
-0.866913724584800427, 0.866913724584800427, -0.521584096752930937,
0.521584096752930937, -1.603058260481896147, 1.603058260481896147,
1.131290495226984216, -1.131290495226984216, -0.025983716418195180,
0.025983716418195180, 1.032351087100518372, -1.032351087100518372,
-2.224637786217645186, 2.224637786217645186, -0.162734496391128941,
0.162734496391128941, 0.273673555167950888, -0.273673555167950888,
-2.459010134987294371, 2.459010134987294371, -0.918195490875242326,
0.918195490875242326, 3.349596084069234259, -3.349596084069234259,
0.687195476960778762, -0.687195476960778762, -1.052718851466527328,
1.052718851466527328, 0.050624437594229355, -0.050624437594229355,
0.918266891203016855, -0.918266891203016855, -0.402689924407274802,
0.402689924407274802, 0.172930030148746722, -0.172930030148746722,
-0.729742764543249600, 0.729742764543249600, -1.328294149765913312,
1.328294149765913312, 0.074352549621726965, -0.074352549621726965,
0.382668985189349498, -0.382668985189349498, 1.390238993188259498,
-1.390238993188259498, -0.729630799636320049, 0.729630799636320049,
-1.335330064808758044, 1.335330064808758044, 1.080203042138974112,
-1.080203042138974112, 0.614815150749306483, -0.614815150749306483,
0.948846205447098190, -0.948846205447098190, 0.537516306246460296,
-0.537516306246460296, 0.518670152004236606, -0.518670152004236606,
0.322774153261093044, -0.322774153261093044, -0.078317251196179785,
0.078317251196179785, -0.638547209457334453, 0.638547209457334453,
-0.310091732599216852, 0.310091732599216852, -1.401041709751936981,
1.401041709751936981, 0.444484264649852523, -0.444484264649852523,
-1.000000000000000000, -0.822571831606042192, 0.822571831606042192,
1.149442322385366033, -1.149442322385366033, 0.691743212128930307,
-0.691743212128930307, -0.724535264426504177, 0.724535264426504177,
-0.770046062316186330, 0.770046062316186330, -1.007402320427817077,
1.007402320427817077, -0.866896266710699970, 0.866896266710699970,
0.157127863727930334, -0.157127863727930334, -0.683933911229745561,
0.683933911229745561, 0.083157607370303074, -0.083157607370303074,
-0.035297284818969786, 0.035297284818969786, 1.595145009715114970,
-1.595145009715114970, 0.406340236572520330, -0.406340236572520330,
0.313725728340701338, -0.313725728340701338, 1.802698956145747822,
-1.802698956145747822, 0.913926791275037065, -0.913926791275037065,
-1.724161676159960077, 1.724161676159960077, 1.110418687944275673,
-1.110418687944275673, 0.461906200032139447, -0.461906200032139447,
-1.098377187481418327, 1.098377187481418327, 0.561283369614635874,
-0.561283369614635874, -1.440822605093403652, 1.440822605093403652,
0.982226376107772414, -0.982226376107772414, 0.143410505344264055,
-0.143410505344264055, 0.190094441263810476, -0.190094441263810476,
-0.674859862131981347, 0.674859862131981347, 0.361191784792336323,
-0.361191784792336323, 0.855409038211248252, -0.855409038211248252,
0.247664495777954352, -0.247664495777954352, -2.624827919838180978,
2.624827919838180978, -0.292697699274345136, 0.292697699274345136,
1.816454414571746945, -1.816454414571746945, -1.762366799993794864,
1.762366799993794864, -0.242523030834476544, 0.242523030834476544,
-0.116759392895071146, 0.116759392895071146, -1.459080445461180098,
1.459080445461180098, 0.418859403675993669, -0.418859403675993669,
0.182519919352751275, -0.182519919352751275, 0.317673288988851388,
-0.317673288988851388, 0.894501008979574186, -0.894501008979574186,
0.240779273237376745, -0.240779273237376745, 1.063124478382744265,
-1.063124478382744265, -0.182203074499369566, 0.182203074499369566,
0.335540465956989664, -0.335540465956989664, 0.679568586001081942,
-0.679568586001081942, -0.630620458948692009, 0.630620458948692009,
-0.528865322760086354, 0.528865322760086354, 0.629959392835118481,
-0.629959392835118481, -0.609885742617505167, 0.609885742617505167,
1.774739631265793260, -1.774739631265793260, -1.000000000000000000,
0.506497876068581654, -0.506497876068581654, 0.000326691662373364,
-0.000326691662373364, 1.543000152238471312, -1.543000152238471312,
-0.187951520155494600, 0.187951520155494600, -0.466908966395864100,
0.466908966395864100, -2.168190935795662355, 2.168190935795662355,
0.568204320157958742, -0.568204320157958742, 1.162818994214767310,
-1.162818994214767310, 0.219565016076267133, -0.219565016076267133,
0.846238367236053057, -0.846238367236053057, 0.444152474144777987,
-0.444152474144777987, 0.432732607599171037, -0.432732607599171037,
1.350501505879705411, -1.350501505879705411, -0.796531305332793926,
0.796531305332793926, -1.500064621977569068, 1.500064621977569068,
0.013262735417032061, -0.013262735417032061, -0.919545740399544842,
0.919545740399544842, -0.720599621073430674, 0.720599621073430674,
0.169023573624101114, -0.169023573624101114, -0.415746346580660175,
0.415746346580660175, 1.447138808881193173, -1.447138808881193173,
1.260731770052782030, -1.260731770052782030, -0.226090396655164727,
0.226090396655164727, 0.412205318621164107, -0.412205318621164107,
0.147480060602125151, -0.147480060602125151, 0.273383713767828274,
-0.273383713767828274, -0.356808074324790336, 0.356808074324790336,
1.013981805928862112, -1.013981805928862112, 0.269343540845133511,
-0.269343540845133511, -0.131014546908719692, 0.131014546908719692,
1.346897709728866133, -1.346897709728866133, -1.077804826671031835,
1.077804826671031835, -2.166977323932548494, 2.166977323932548494,
4.082665741988060759, -4.082665741988060759, -0.158050142170322011,
0.158050142170322011, 0.826308257196147311, -0.826308257196147311,
1.364531401616584372, -1.364531401616584372, 0.447820002980886034,
-0.447820002980886034, -0.800383328883453427, 0.800383328883453427,
0.638742958438863195, -0.638742958438863195, 1.284767930527563218,
-1.284767930527563218, -1.777775442492336433, 1.777775442492336433,
-0.479920638682654332, 0.479920638682654332, -0.000486121785261532,
0.000486121785261532, 0.915943372086077567, -0.915943372086077567,
0.281169314576583562, -0.281169314576583562, -0.240045850376803122,
0.240045850376803122, 0.678876421485956394, -0.678876421485956394,
-0.308976088076634348, 0.308976088076634348, 0.798465100342247380,
-0.798465100342247380, -1.000000000000000000, 1.087159846595101786,
-1.087159846595101786, -2.099121773424734716, 2.099121773424734716,
0.955342180681646336, -0.955342180681646336, 0.805784538992392330,
-0.805784538992392330, 0.372022079078506707, -0.372022079078506707,
0.131125010573828527, -0.131125010573828527, -0.428233847101695153,
0.428233847101695153, 0.239263979475934280, -0.239263979475934280,
0.495824604297952665, -0.495824604297952665, -1.974307955242914581,
1.974307955242914581, 1.603706793378771422, -1.603706793378771422,
0.009079468662080679, -0.009079468662080679, -0.340801415852529821,
0.340801415852529821, -0.040371866286134914, 0.040371866286134914,
1.252279885978765384, -1.252279885978765384, -0.480496637097164170,
0.480496637097164170, 0.025086653875817752, -0.025086653875817752,
1.133441378387318510, -1.133441378387318510, 1.685216101290169188,
-1.685216101290169188, -0.377749910040516390, 0.377749910040516390,
-0.885742663004153163, 0.885742663004153163, -0.763260238467797114,
0.763260238467797114, -2.779910894557495293, 2.779910894557495293,
-0.639811141540734374, 0.639811141540734374, 0.187441762332883177,
-0.187441762332883177, -0.284330518550652722, 0.284330518550652722,
-0.822012436267475666, 0.822012436267475666, -1.334746162474092834,
1.334746162474092834, -0.669135345166555928, 0.669135345166555928,
2.095458091555622460, -2.095458091555622460, -1.489693812460274769,
1.489693812460274769, -1.445874828327142092, 1.445874828327142092,
0.885203250913691675, -0.885203250913691675, -0.130365900983153593,
0.130365900983153593, -1.227811794109990418, 1.227811794109990418,
1.887461183070288540, -1.887461183070288540, -0.372231541771805063,
0.372231541771805063, 0.854005807614880763, -0.854005807614880763,
0.233301251116458497, -0.233301251116458497, 0.128510580408158021,
-0.128510580408158021, 0.317037146153163529, -0.317037146153163529,
-0.072474722564739330, 0.072474722564739330, -0.902410880592201314,
0.902410880592201314, -0.135741998878747605, 0.135741998878747605,
-0.191584542689922477, 0.191584542689922477, -0.691971672385520598,
0.691971672385520598, -0.740985851503054516, 0.740985851503054516,
0.777878742705346071, -0.777878742705346071, 2.316421323974115154,
-2.316421323974115154, 0.442592141778819392, -0.442592141778819392,
-1.000000000000000000, 0.057300638002260783, -0.057300638002260783,
-0.765880201091782453, 0.765880201091782453, 0.018658948070564667,
-0.018658948070564667, -0.884852857487954947, 0.884852857487954947,
-0.119099061784913321, 0.119099061784913321, 0.110823913892580964,
-0.110823913892580964, -0.628128807378484644, 0.628128807378484644,
-0.958779880814327745, 0.958779880814327745, 0.335534085713524222,
-0.335534085713524222, -1.589119342626025944, 1.589119342626025944,
-0.339290158527664643, 0.339290158527664643, 0.683350252109244716,
-0.683350252109244716, -1.341947200350975145, 1.341947200350975145,
-1.094209818133984768, 1.094209818133984768, -1.303705781186516477,
1.303705781186516477, 0.205495234849035424, -0.205495234849035424,
2.150190108595682936, -2.150190108595682936, 0.504922856191401204,
-0.504922856191401204, 0.202643337241746463, -0.202643337241746463,
0.368081470693641333, -0.368081470693641333, 0.559511763513307891,
-0.559511763513307891, 0.621090751359941073, -0.621090751359941073,
-0.437128202629269713, 0.437128202629269713, -0.320080245358165705,
0.320080245358165705, 0.676285408860144432, -0.676285408860144432,
0.294205824825271300, -0.294205824825271300, 1.086292218045164404,
-1.086292218045164404, 0.131665472918444160, -0.131665472918444160,
0.913562447586867998, -0.913562447586867998, -0.441621943495057401,
0.441621943495057401, 0.175143091644549165, -0.175143091644549165,
-0.057950142634599001, 0.057950142634599001, 1.272633458197298228,
-1.272633458197298228, -0.739156567900068118, 0.739156567900068118,
-1.172962844785649050, 1.172962844785649050, 0.690349067302703512,
-0.690349067302703512, 1.261164997660849663, -1.261164997660849663,
-0.578273293013085943, 0.578273293013085943, 0.705747556964109291,
-0.705747556964109291, 1.199347759194084206, -1.199347759194084206,
-0.561175893138310178, 0.561175893138310178, 0.418058667159627584,
-0.418058667159627584, 0.775233786194539753, -0.775233786194539753,
-1.005165576137645900, 1.005165576137645900, -0.248095930746197624,
0.248095930746197624, 0.968389188406472812, -0.968389188406472812,
0.052644854909029225, -0.052644854909029225, 0.459974856433697621,
-0.459974856433697621, -0.764234718892679465, 0.764234718892679465,
-0.924252504077109682, 0.924252504077109682, -1.000000000000000000,
-2.285037536291396609, 2.285037536291396609, 0.330256994776636892,
-0.330256994776636892, 0.781166851577503984, -0.781166851577503984,
1.091855391225416527, -1.091855391225416527, 0.303546598398528267,
-0.303546598398528267, 0.883205583346516998, -0.883205583346516998,
-0.200432630370076942, 0.200432630370076942, 0.103227093467374034,
-0.103227093467374034, -0.536598825966995818, 0.536598825966995818,
-0.114094330489527385, 0.114094330489527385, 0.352868274327804876,
-0.352868274327804876, 1.184201821029249313, -1.184201821029249313,
-0.281707700532443983, 0.281707700532443983, 1.299996056001185840,
-1.299996056001185840, 1.288620739680663041, -1.288620739680663041,
-0.124775257491364810, 0.124775257491364810, 2.676893190719289439,
-2.676893190719289439, 0.393601576244927809, -0.393601576244927809,
-0.860157510975565920, 0.860157510975565920, -0.162471839540177465,
0.162471839540177465, 0.870279361361823600, -0.870279361361823600,
-0.150491539662725049, 0.150491539662725049, -1.332287989766246072,
1.332287989766246072, 0.065469192080399141, -0.065469192080399141,
-1.317974937874615282, 1.317974937874615282, 0.509029000143902399,
-0.509029000143902399, 0.368719922900173025, -0.368719922900173025,
0.646131466361322016, -0.646131466361322016, -0.791339007906923575,
0.791339007906923575, -0.438686479862148759, 0.438686479862148759,
1.538459427564934812, -1.538459427564934812, -0.258833298230582876,
0.258833298230582876, -1.504378351654444890, 1.504378351654444890,
-1.036168922551806260, 1.036168922551806260, -1.956795979420658416,
1.956795979420658416, 1.136562859433311701, -1.136562859433311701,
-1.534637925681490822, 1.534637925681490822, -0.794072741149785766,
0.794072741149785766, 1.371420904545398223, -1.371420904545398223,
0.507731197862471229, -0.507731197862471229, -0.301106820285413468,
0.301106820285413468, -1.017488307329072361, 1.017488307329072361,
-0.614101742707810261, 0.614101742707810261, -0.781398901846928728,
0.781398901846928728, 0.053926155630600305, -0.053926155630600305,
-0.528096222539175431, 0.528096222539175431, 1.913029349947439561,
-1.913029349947439561, -0.179790546417506469, 0.179790546417506469,
-0.683750983213183505, 0.683750983213183505, -1.021241699433223404,
1.021241699433223404, -1.000000000000000000, -2.049890895857636064,
2.049890895857636064, -1.417369090725334679, 1.417369090725334679,
-0.850006203774544056, 0.850006203774544056, 0.462163832152883536,
-0.462163832152883536, -1.576268635512163341, 1.576268635512163341,
-1.441553193165409752, 1.441553193165409752, 0.528158464893624058,
-0.528158464893624058, -0.356925550618781839, 0.356925550618781839,
1.025569158189527652, -1.025569158189527652, 0.449741824505590193,
-0.449741824505590193, 0.832324652288013667, -0.832324652288013667,
-1.071955389109310985, 1.071955389109310985, -1.634162605612502706,
1.634162605612502706, 0.505770152619639646, -0.505770152619639646,
-0.529050505036871677, 0.529050505036871677, 2.096511832225588901,
-2.096511832225588901, 0.761631727644857093, -0.761631727644857093,
-1.192983489646781026, 1.192983489646781026, 2.417357758103033216,
-2.417357758103033216, -0.054862528716085407, 0.054862528716085407,
-0.911480249686436483, 0.911480249686436483, -0.754953036467722605,
0.754953036467722605, -0.765582251486999321, 0.765582251486999321,
0.336077875984923224, -0.336077875984923224, 0.627961935625664491,
-0.627961935625664491, -0.048378255106885454, 0.048378255106885454,
0.324089280340306485, -0.324089280340306485, 0.867067055827554611,
-0.867067055827554611, 0.482964936776505871, -0.482964936776505871,
0.913512419073207127, -0.913512419073207127, -0.986143056174743848,
0.986143056174743848, 0.106234733647867743, -0.106234733647867743,
0.600980235748239666, -0.600980235748239666, -0.586035595820676769,
0.586035595820676769, -0.480578250645586014, 0.480578250645586014,
-1.153384062348248751, 1.153384062348248751, -1.171239036967019365,
1.171239036967019365, -0.322604826885027784, 0.322604826885027784,
0.136050508789379743, -0.136050508789379743, 1.065246013053737562,
-1.065246013053737562, -0.601401671319884090, 0.601401671319884090,
0.095447184573948712, -0.095447184573948712, 2.265102206815573727,
-2.265102206815573727, -0.205975175263903992, 0.205975175263903992,
0.427509540011176081, -0.427509540011176081, 0.520441665490702587,
-0.520441665490702587, -2.895556119432680209, 2.895556119432680209,
0.620757007249324810, -0.620757007249324810, -0.005251762123618039,
0.005251762123618039, 1.083172978556625754, -1.083172978556625754,
-1.000000000000000000, 0.365201243908861106, -0.365201243908861106,
1.250190028804355702, -1.250190028804355702, 0.224932134413901919,
-0.224932134413901919, -0.902251105448115265, 0.902251105448115265,
-0.368544518082968842, 0.368544518082968842, -0.234274596888654818,
0.234274596888654818, -1.199930348307246541, 1.199930348307246541,
-1.573215897391668561, 1.573215897391668561, 1.509172423622493930,
-1.509172423622493930, -0.092660720516525047, 0.092660720516525047,
0.436287483119169650, -0.436287483119169650, 2.405987267352854619,
-2.405987267352854619, 0.831037192863362639, -0.831037192863362639,
0.142705011000706122, -0.142705011000706122, 1.491265436361660868,
-1.491265436361660868, 0.351484213706070359, -0.351484213706070359,
-1.520421211131988359, 1.520421211131988359, -0.990651120099914628,
0.990651120099914628, 0.755067493672610501, -0.755067493672610501,
-0.475209396547241036, 0.475209396547241036, -1.267282701791565547,
1.267282701791565547, 0.419704110261967744, -0.419704110261967744,
-0.766570120470680960, 0.766570120470680960, -1.021465600725925960,
1.021465600725925960, -0.521511779651205876, 0.521511779651205876,
0.374754396256747835, -0.374754396256747835, 0.785689533273488006,
-0.785689533273488006, -0.158926489386465586, 0.158926489386465586,
1.132984272112302016, -1.132984272112302016, 0.957264734680358442,
-0.957264734680358442, -0.404576492822195655, 0.404576492822195655,
0.589263426043603378, -0.589263426043603378, -1.033631870548684217,
1.033631870548684217, 0.598534902235807076, -0.598534902235807076,
0.919327935687768494, -0.919327935687768494, -0.224031230235764156,
0.224031230235764156, -0.611669152956875184, 0.611669152956875184,
1.482839170994118660, -1.482839170994118660, -0.094214130236777896,
0.094214130236777896, -0.902166146440054773, 0.902166146440054773,
-0.248954946055154891, 0.248954946055154891, -3.062190912378776719,
3.062190912378776719, -0.941533647749983493, 0.941533647749983493,
-2.160942710456435822, 2.160942710456435822, 0.108026826423921113,
-0.108026826423921113, 2.075626678312805673, -2.075626678312805673,
0.873962816238563089, -0.873962816238563089, -0.408815616016248828,
0.408815616016248828, -0.129621031340232146, 0.129621031340232146,
1.406273548026924392, -1.406273548026924392, -1.000000000000000000,
-0.915804710938513011, 0.915804710938513011, -1.221871953979475789,
1.221871953979475789, -0.300753582392023655, 0.300753582392023655,
0.075403833175464410, -0.075403833175464410, 0.131548564249591410,
-0.131548564249591410, -0.071935913309509686, 0.071935913309509686,
0.767128678708612011, -0.767128678708612011, 1.191450868677329078,
-1.191450868677329078, -1.613612865536336205, 1.613612865536336205,
-0.441167481116289062, 0.441167481116289062, 3.280667499979234236,
-3.280667499979234236, -1.201795592615207742, 1.201795592615207742,
2.951958398205375200, -2.951958398205375200, -1.276239289802024945,
1.276239289802024945, -1.132028638493809636, 1.132028638493809636,
2.436513002643889259, -2.436513002643889259, 0.068454839838739664,
-0.068454839838739664, 0.258744697658441825, -0.258744697658441825,
0.912475983862615192, -0.912475983862615192, 0.079789089547489894,
-0.079789089547489894, -0.095257282931539802, 0.095257282931539802,
0.032098955389624276, -0.032098955389624276, -0.446625802398977478,
0.446625802398977478, 0.066898135600142933, -0.066898135600142933,
0.187007172038859970, -0.187007172038859970, -0.111876955691751587,
0.111876955691751587, -1.135249689741995027, 1.135249689741995027,
0.855383920893877270, -0.855383920893877270, -0.584066032000734703,
0.584066032000734703, 0.043977907469829255, -0.043977907469829255,
-1.235073226970094584, 1.235073226970094584, 0.903396805744995368,
-0.903396805744995368, -1.419367800674472990, 1.419367800674472990,
-0.669079320858145477, 0.669079320858145477, 1.846743883979396816,
-1.846743883979396816, -0.197864347556086784, 0.197864347556086784,
0.178086679323349178, -0.178086679323349178, -0.726541129368893035,
0.726541129368893035, 0.102548417306546763, -0.102548417306546763,
0.101435234812034022, -0.101435234812034022, -0.607294919138270162,
0.607294919138270162, -0.232543338993652815, 0.232543338993652815,
1.024873011278554902, -1.024873011278554902, -0.367070741104161269,
0.367070741104161269, 0.015584587754633259, -0.015584587754633259,
0.893352765523915404, -0.893352765523915404, -0.318598602767036110,
0.318598602767036110, -0.565309322249061386, 0.565309322249061386,
-0.869520326873197580, 0.869520326873197580, 1.087601931698385149,
-1.087601931698385149, -1.000000000000000000, -1.000000000000000000,
-1.000000000000000000]
A = SparseMatrixCSC(m, n, colptr .+ 1, rowval .+ 1, vec(values))
P = spzeros(n, n)
sol = scs_solve(T, m, n, A, P, b, c, z, l, bu, bl, q, s, ep, ed, Float64[])
@test sol.ret_val == 1
@test SCS.raw_status(sol.info) == "solved"
end
# Feasible conic problem with exponential cones (no SDP cones)
# Problem data taken from https://github.com/cvxgrp/scs/blob/master/examples/raw/randomConeFeasible
function feasible_exponential_conic(T)
n = 24
m = 71
z = 10
l = 10
bu = Float64[]
bl = Float64[]
ep = 10
ed = 5
q = [0,1,0,2,3]
s = Int[]
b = [
-0.883995908378185202, 0.247092008779755457, 0.000000000000000000,
-0.908862166109580594, 0.493908919902298627, 0.215008446366246719,
-0.756619621167477718, -0.244711519515723036, -2.185656700286640941,
-1.777454077348217920, 1.191220488872941186, -0.072631913036035556,
-0.884888299606113149, -3.097264426296667761, -0.491714244502094944,
0.820612279439398518, -5.027612089838516596, -0.218768971520485273,
-1.779020210515877221, 0.000000000000000000, 1.049908711514835780,
0.423746551400514093, -0.078381703192688112, -0.387520318558316479,
0.959884766721948446, -0.080140759738691447, 1.300716537987696597,
-0.217623259095584554, -0.772345449741623336, -0.014345948596158398,
2.002325668310177775, 2.019795133016943467, 1.285967533112210681,
-0.503689333815666940, 3.004968290408826626, -1.438380292815098382,
-0.801360722211995502, 0.731209144814713885, -2.639460367287462361,
1.255602400085220394, -0.301008710647552635, 0.478491654540030953,
-0.984259121708334739, 0.276318763804415002, 0.631004508865874447,
1.808914085971600416, 0.379215625232032671, -0.627707287528726510,
-1.823589846592805763, 0.000000000000000000, 0.376255266738256766,
0.577717062577191354, 1.119478389802739615, 0.977520182221270906,
0.000000000000000000, 3.417141674635829851, -0.093825387556597556,
-1.780472058822893722, 1.589707484189159858, 0.133747881756402398,
1.316803247114450848, -0.153152367127352751, -1.712195041092097192,
-0.151457896071195447, 1.216498217552836492, 0.610011299767568738,
4.095401319683990238, -0.761957853948331154, -0.485158172250699793,
-1.990510613776122817, 1.151843011380725867]
c = [
1.126284961639569149, 0.474697659805094763, -2.123033959497108825,
4.908405709073863754, 1.205680866991396316, -0.305211910012288978,
-6.293810724494532494, -0.698794364791622713, 2.279737335846038437,
-0.945550079347313055, -0.727867522608193762, -1.869349988323733891,
-3.748045451887451307, 1.125456539838578518, 0.750188573436658457,
1.255406629974515686, -4.887321053728165055, 4.021564105931883404,
0.000000000000000000, -5.091850958321861853, -0.068986990722853969,
-1.715673120575787136, 0.036366854219751360, -3.625427280331933400]
colptr = [0, 7, 12, 18, 24, 34, 37, 43, 47, 54, 59, 68, 79, 87, 93, 101, 111, 119, 127, 128, 139, 141, 150, 154, 162]
rowval = [
5, 17, 22, 31, 55, 65, 69, 12, 18, 30, 34, 58, 9, 11, 13, 18, 30, 66, 0,
10, 17, 18, 44, 58, 5, 6, 7, 26, 29, 31, 53, 57, 61, 67, 39, 43, 68, 3,
9, 13, 14, 16, 21, 7, 36, 38, 55, 4, 12, 21, 27, 40, 46, 66, 3, 26, 34,
44, 53, 5, 11, 17, 27, 31, 37, 42, 45, 63, 13, 22, 24, 33, 36, 40, 50, 56,
58, 64, 65, 6, 10, 13, 16, 18, 23, 41, 44, 17, 31, 41, 46, 55, 58, 16, 20,
33, 38, 42, 58, 62, 64, 7, 13, 18, 21, 26, 36, 45, 52, 56, 60, 8, 15, 21,
30, 33, 48, 53, 64, 1, 5, 11, 16, 23, 24, 28, 39, 37, 5, 8, 28, 30, 41,
55, 57, 59, 61, 64, 67, 56, 70, 0, 3, 10, 18, 22, 34, 37, 42, 65, 16, 25,
51, 65, 5, 13, 24, 28, 32, 36, 40, 55]
values = [
0.155488995903893978, -0.062791225718324961, -0.723631125289072807,
-0.238301504589733010, -1.222593380186629552, 0.176577794642316321,
0.705885019349415832, -1.327043149520291010, -0.054886129988677361,
0.595357673884101768, -0.608557444738319409, -0.345065971567320995,
0.312023828329273611, 0.600142508808629960, 0.401844497039814952,
-1.118732002452724972, 1.046832784305231856, 2.003390610862264776,
-0.289963040800027938, -0.723121479570418058, -2.021958930051789505,
-0.626378538867138679, 1.223062551733806957, 1.012801864262980134,
0.818551368521000522, -0.493009815316450606, 0.045841105713705040,
0.571247629714476068, -0.131820352915893585, 0.229596893220313791,
0.245804851893843240, -0.300111005615675885, -0.438141355602143678,
-0.432003843727780446, 2.787335227813435345, 1.778255899291004472,
-0.360076301153971601, 1.174116751493714972, 1.804493771724186901,
1.470201280848519421, 0.397466995795308642, 1.516266896645952711,
1.808862620519253950, -0.063783120022332648, 0.910482579647111989,
0.439952188872439920, 0.316500360797716096, -1.481399071578779925,
-1.441013597638914456, -1.079866250738828137, 0.759568325914783404,
-1.854299082689693901, 0.066756911436865754, 0.950993499549085408,
0.126947068043645916, 0.412796010311391848, -0.737059771697805455,
-1.283256104604766579, 0.070045209416807905, -0.292588130834394000,
0.593930795648752730, -0.982131525779047831, -0.657201299098350344,
0.439997904822629349, 0.183703423091249041, 0.541334435719376117,
0.901931466951714444, -0.297697144009373027, -0.326814228785906158,
-0.593250315010803608, -0.373070658631004248, 0.601102032468295078,
0.867082552947325391, -1.140681144669632330, -0.069214254022048366,
-0.418903195029848852, 0.629334584931418806, 1.143678910770957513,
0.970737823554688517, -0.180739356415037467, 0.526547037749559022,
0.812323004640795987, -0.032566509194480744, 0.249517740562795132,
0.942133319236942435, -0.433609296474823602, -2.328954516283341825,
0.612511298166949270, -0.616865928889227422, -0.168469878275448348,
0.035479485837577006, -1.342869236621930140, -0.213015082641054704,
1.635999657278292441, -0.640709506726057532, 0.092307951238962266,
0.101662443700341151, 0.389266203843263880, -0.865697308360523721,
0.983545235205556256, -0.531620117507069279, 0.611335194065235954,
0.545540103526115816, -0.993019006549600625, 0.199189444075264455,
-0.986961883351521907, -0.079892839058037096, -1.835638683735192345,
0.235809672576244050, -0.140321722056366061, -0.270068812648098844,
0.109317693774870342, -0.751894738681891606, -1.521026561768954677,
-0.197958632611841989, 1.729841391572364273, 2.227168078167871546,
-0.608580510079949288, 0.972565728008653152, 0.475424811707271355,
-0.540786416488525767, -2.186021612748235476, -0.425058490610030815,
0.300485967595730263, 0.815488508092498399, -0.603918481376169214,
-1.166665030194641073, 0.290790134884453599, -0.308641815280113085,
1.814015450280375585, 0.176946822329411252, 0.327678163907200726,
-0.218533560026580531, -1.032184344072171189, 1.029365712103099240,
-1.043108301337626775, -0.408674314796325655, -0.522250484993548869,
0.648940737363586706, 0.899822328897223467, 1.415849068436585423,
1.261550718141148275, -0.656815928948082495, -0.260250861706116776,
0.974950224811311550, 0.401336339818801069, -1.749879306387625455,
0.112944717021051230, 0.751228984688332879, -0.413972274974230170,
0.589433366718220664, 0.120205281956355367, -0.507323064614498387,
-0.438270518204901538, -1.096593301525472075, -1.051632309520848407,
0.798886992156715880, -0.307503469862750567, 0.274836786911666187,
0.898475989377141793, -1.093343456239604494, 1.331215885064973348]
A = SparseMatrixCSC(m, n, colptr .+ 1, rowval .+ 1, vec(values))
P = spzeros(n, n)
sol = scs_solve(T, m, n, A, P, b, c, z, l, bu, bl, q, s, ep, ed, Float64[])
@assert sol.ret_val == 1
@test SCS.raw_status(sol.info) == "solved"
end
# Feasible conic problem with exponential and SDP cones
# BLAS and LAPACK must be linked
# Problem data taken from https://github.com/cvxgrp/scs/blob/master/examples/raw/randomConeFeasibleSDP
function feasible_sdp_conic(T)
n = 15
m = 46
z = 3
bu= Float64[]
bl= Float64[]
l = 3
ep = 2
ed = 2
q = [2,3,4]
s = [2,3,4]
b = [
-0.757244022903780567, 0.000000000000000000, -1.892151461056349238,
-0.163643541176375057, 0.000000000000000000, -1.081834184990333014,
0.795686782662209935, -0.459554179861930256, 0.000000000000000000,
-0.021401100284139062, 0.221822131770426145, 0.624165617064677769,
0.103992209313486683, 0.383906342184775817, 0.220548856781228653,
0.207179552343107032, -0.251552024267611252, -0.940985378402204531,
0.143203475268773417, -0.637990380166112425, -0.047725168844638927,
-1.400142610548834821, -0.518640886812063995, -0.466344476203716551,
-0.306977592331722393, -0.733266642509912470, 1.636614964482892454,
2.801678431332372821, 0.542022232315772401, 0.561733632830300200,
-2.792150430434448882, 0.679252001011406148, 0.060935700608246268,
1.017184097064012693, -1.472726175247485836, 0.298927350489858801,
0.283700004781893000, -5.946289176766917706, 0.563505302268017871,
1.728907659188164914, 0.783139219605003434, 0.241447041607357943,
-0.100769851306178021, -0.312858596637428432, 0.715583273231235939,
0.030051296196268559]
c = [
-0.159052113684804763, 1.195574970454808206, 0.354942838344536771,
-0.144003787891437030, 0.031108987439201756, -6.024128094309364911,
-6.684198760055235056, -2.875770597510225901, -1.958442177032014397,
-3.231061172173861795, -0.047201649069278366, -1.907845683517030544,
0.605113199091042553, 2.360164164701050726, -0.367619298880400125]
colptr = [0, 3, 11, 18, 24, 25, 30, 36, 39, 44, 47, 48, 51, 56, 61, 66]
rowval = [
7, 26, 27, 3, 5, 9, 15, 26, 28, 31, 34, 7, 12, 21, 25, 32, 38, 44, 10,
11, 16, 35, 36, 40, 10, 11, 14, 24, 26, 34, 11, 12, 16, 20, 38, 42, 13, 34,
42, 3, 6, 11, 15, 29, 30, 34, 37, 31, 2, 5, 42, 11, 20, 22, 24, 34, 6,
17, 23, 25, 44, 0, 21, 30, 32, 42];
values = [
-0.067865553542687335, 1.530072514424096086, 1.603457298120044117,
-0.334886938964047698, 1.039090653504955997, -0.217606350143191934,
0.307061919146703444, -0.249024742513713787, 1.234679146890777846,
-0.155941035724768945, 0.391894209432449070, -0.195221197898754362,
0.625190357087625714, -0.532011376808820713, -0.192239517539274762,
-0.261163645776478603, -0.457014640871582556, -1.565056014150725039,
-0.303107621351740908, 0.051290355848774699, 0.515246335524848553,
-0.320575506600239257, 0.012469041361617951, -1.066701398984749583,
0.023045624425105282, 0.826062790211595455, 0.949221831131022542,
-0.712004549027422495, -1.064213412889326804, -1.250678906826407477,
1.526976686733372723, 0.183227263001436963, 0.261406324055382666,
-0.162337672803827743, 1.242448406390738391, 0.933728162671238482,
-1.029767543566621146, -0.947960922331432032, 0.350321001356111605,
0.552783345944550142, 1.260658709120896281, 0.466914435684700035,
0.135174942099455658, -0.229626450963180490, -1.506159703979718989,
-0.741106093940411492, -3.029177341404145629, 0.276068253931536167,
-0.848709379933659025, -1.117638683265208099, -0.029005763708726321,
-0.209713338388736709, -0.146054634331526184, -0.875729346160017297,
-1.174212331456816250, -0.507817550278173657, 0.660143141046977688,
-0.941485770955433732, -0.483815050110121103, -0.274070229932602216,
-0.084539479817724195, 0.455029556444334349, 1.682103594663178825,
-0.444627816446985402, 0.443421912904091331, 0.182452167505983420]
A = SparseMatrixCSC(m, n, colptr .+ 1, rowval .+ 1, vec(values))
P = spzeros(n, n)
sol = scs_solve(T, m, n, A, P, b, c, z, l, bu, bl, q, s, ep, ed, Float64[])
@test sol.ret_val == 1
@test SCS.raw_status(sol.info) == "solved"
end
# Feasible conic problem with power cones
function feasible_pow_conic(T)
n = 9
m = 28
z = 5
l = 5
bu = Float64[]
bl = Float64[]
ep = 0
ed = 0
q = Int[]
s = Int[]
p = [-3.0e-01, 2.5e-01, 7.5e-01, -4.0e-01, 8.7e-01, -1.2e-01]
b = [
-0.887386390749058451, 1.868842541924223610, -0.755288651776904296,
0.000000000000000000, 0.000000000000000000, 0.000000000000000000,
-0.242379421582613414, 0.000000000000000000, 0.000000000000000000,
0.000000000000000000, 2.000257252427916743, 0.841870176542910631,
-1.245982120437818974, 0.644136460056986104, -0.068037985179701416,
0.041769615282582828, 1.081088773255733271, 1.417941447788496845,
0.955133254978043800, 2.477002457942629299, 0.326964373865085811,
0.322926943542406031, 0.765172439731569787, 1.673745381540497679,
0.056224953164704453, 0.024308325296160227, -0.492458408194795028,
-0.193643481641372683]
c = [
0.581324380640174887, 0.000000000000000000, -1.274914899429569370,
1.437959547820705897, 0.178499636115030086, -2.834480531039399676,
-0.465471220509626749, 0.440187271984058437, 1.655006387767208542];
colptr = [0, 2, 2, 8, 11, 12, 15, 21, 22, 25]
rowval = [11, 19, 10, 11, 14, 18, 19, 26, 1, 19, 23, 2, 1, 14, 19, 0, 1, 10, 14, 23, 26, 16, 0, 6, 18]
values = [
-0.511172207780700494, -0.557093642241281661, -0.322939921204497105,
-0.002041345349432955, 1.606510961119237413, -0.070499387778693703,
-0.336705699002853465, 1.122647857944874650, 0.375041023696103593,
0.415227462723155749, -2.444298897865559539, -2.377454293765433491,
1.125161817875028225, 0.847648634500925313, 1.557813537123208025,
0.400486023191097329, 0.728641591773904751, 0.317987915650739417,
0.268100811901575309, -1.098195387799324019, 0.581667258045274083,
-0.923489085784077401, -1.341380722378574086, -0.273782415743900387,
0.147891351014747152]
A = SparseMatrixCSC(m, n, colptr .+ 1, rowval .+ 1, vec(values))
P = spzeros(n, n)
sol = scs_solve(T, m, n, A, P, b, c, z, l, bu, bl, q, s, ep, ed, p)
@test sol.ret_val == 1
@test SCS.raw_status(sol.info) == "solved"
return
end
function feasible_basic_problems(solver)
A = reshape([1.0], (1, 1))
P = spzeros(1, 1)
solution = scs_solve(
solver,
1,
1,
A,
P,
[1.0],
[1.0],
1,
0,
Float64[],
Float64[],
Int[],
Int[],
0,
0,
Float64[],
);
@test solution.ret_val == 1
feasible_basic_conic(solver)
feasible_exponential_conic(solver)
feasible_sdp_conic(solver)
feasible_pow_conic(solver)
return
end
function test_options(T)
A = [
1.0 1.0 0.0 0.0 0.0
0.0 1.0 0.0 0.0 1.0
0.0 0.0 1.0 1.0 1.0
-1.0 0.0 0.0 0.0 0.0
0.0 -1.0 0.0 0.0 0.0
0.0 0.0 -1.0 0.0 0.0
0.0 0.0 0.0 -1.0 0.0
0.0 0.0 0.0 0.0 -1.0
]
m, n = size(A)
args = (
m = m,
n = n,
A = A,
P = zeros(n, n),
b = [5.0, 3.0, 9.0, 0.0, 0.0, 0.0, 0.0, 0.0],
c = -[3.0, 4.0, 4.0, 9.0, 5.0],
z = 0,
l = 8,
bu = Float64[],
bl = Float64[],
q = Int64[],
s = Int64[],
ep = 0,
ed = 0,
p = Float64[],
)
solution = SCS.scs_solve(T, args...)
@test isapprox(solution.x' * args.c, -99.0; rtol = 1e-4)
@test !isapprox(solution.x' * args.c, -99.0; rtol = 1e-7)
solution = SCS.scs_solve(T, args...; eps_abs = 1e-10, eps_rel = 1e-10)
@test isapprox(solution.x' * args.c, -99.0; rtol = 1e-10)
solution = SCS.scs_solve(
T,
args...,
solution.x,
solution.y,
solution.s;
max_iters = 1,
warm_start = true,
eps_abs = 1e-10,
eps_rel = 1e-10,
)
@test isapprox(solution.x' * args.c, -99.0; rtol = 1e-9)
@test_throws(ArgumentError, SCS.scs_solve(T, args...; eps = 1e-12))
err = try
SCS.scs_solve(T, args...; eps_abs = 1e-12, eps = 1e-12)
catch ex
ex
end
@test err.msg == "Unrecognized option passed to SCS solver: eps"
tmpf = tempname()
@test !isfile(tmpf)
SCS.scs_solve(T, args...; eps_abs = 1e-12, write_data_filename = tmpf)
@test isfile(tmpf)
@test_throws ErrorException SCS.scs_solve(T, args...; write_data_filename = @view tmpf[1:end])
return
end