-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbatch
More file actions
executable file
·64 lines (54 loc) · 2.42 KB
/
Copy pathbatch
File metadata and controls
executable file
·64 lines (54 loc) · 2.42 KB
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
#!/usr/bin/env bash
#
# usage: batch < exe file >
# < exe file > = path of the executable file, default ./LagBFunction_test
# shared CLI/run helpers - - - - - - - - - - - - - - - - - - - - - - - - - -
source "$(dirname "$0")/../batch_common.sh"
# what (= wchg) is the wchg bit-mask covering both the runtime mutation
# menu and the sparse Lambda mode selectors: bits 0..8 cover the legacy
# mutations (rows / costs / demands / bounds / linear obj...); bit 9
# (= 512) enables the per-LagBFunction sparse-subset variant at setup
# (each LBF dualises a random subset of the x's instead of all of them,
# triggering BundleSolver's sparse Lambda path at set_Block); bit 10
# (= 1024) enables runtime per-LBF dual_pair removal (a naked
# FunctionModVarsRngd on a single LBF, which exercises the dense →
# sparse auto-promotion in the 4th Modification loop and the per-
# Function sparse handlers). The four sweep values cover every path:
# 511 = legacy dense throughout
# 1023 = sparse from setup
# 1535 = dense at setup + runtime auto-promotion (511 | 1024)
# 2047 = sparse from setup + runtime per-LBF Mod (1023 | 1024)
#iter=3
LagBFunction_test=${1:-./LagBFunction_test}
# NOTE: until OSIMPSolver is replaced by Bundle 2.0, the new sparse-Lambda
# sweep values (1023 / 1535 / 2047) hit a master-side linearization-refresh
# limitation that surfaces as a small "Sigma < 0" inconsistency after the
# right cocktail of PolyhedralFunction Mod accumulate on a sparse-Lambda
# LagBFunction. The BundleSolver-side support (per-Function map ownership,
# auto-promotion, refcount, IsOptimal Sigma guard) is already in place and
# exercised by the in-tree code paths; the sweep below is parked for the
# moment with only the legacy dense variant (511) active. Switch to the
# commented 4-variant `for` line once Bundle 2.0 is in.
for what in 511 ; do
#for what in 511 1023 1535 2047 ; do
for nf in -2 -11; do
if [ $nf -eq -2 ]; then
t=1
else
t=3
fi
# z = 1 is LagBFunction treated as non-easy, -1 is treated as easy
for z in 1 -1; do
let nt=t*z
#for size in 2 10 50 100
for size in 2 10 50; do
for dens in 3 1.1; do
for (( seed = 0 ; seed < 20 ; seed++ )); do
run_test "$LagBFunction_test" "$seed" "$what" "$size" "$nf" "$nt" "$dens" "$iter"
done
done
done
done
done
done
# the end - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -