1 A Core Course on Modeling ACCEL (continued) a 4 categories model dominance and Pareto optimality strength algorithm Examples Week 5 – Roles of Quantities in a Functional Model
2 A Core Course on Modeling to-do list keeps track of incomplete expressions to-do list empty: script is compiled script compiles correctly: script starts running Week 5 – Roles of Quantities in a Functional Model ACCEL: a four-categories model
3 A Core Course on Modeling ACCEL: a four-categories model quantities are automatically categorized: x=17 constant: cat. III x=slider(3,0,10) user input: cat I x not in right hand part: output only: cat. II otherwise: cat. IV Week 5 – Roles of Quantities in a Functional Model
4 A Core Course on Modeling Category I: slider (number), checkbox (boolean), button (boolean event), input (arbitrary), cursorX, cursorY, cursorB cannot occur in expressions: a=slider(10,0,20) *p slider with integer parameters gives integer results slider with 1 float parameter gives float results Week 5 – Roles of Quantities in a Functional Model ACCEL: a four-categories model
5 A Core Course on Modeling Category I: to use slider for non-numeric input: r=[ch0, ch1, ch2, …, chn] myChoice=slider(0,0,n) p=r[myChoice] (p can have arbitrary properties) Week 5 – Roles of Quantities in a Functional Model ACCEL: a four-categories model
6 A Core Course on Modeling Week 5 – Roles of Quantities in a Functional Model ACCEL: a four-categories model Category II: all cat.-II quantities are given as output dynamic models: p = f( p{1}, q{1} ) : p is not in cat.-II to enforce a quantity in cat.-II: pp = p visual output with 'descartes()'; this is a function and produces output cat.-II (usually 'plotOK')
7 A Core Course on Modeling Week 5 – Roles of Quantities in a Functional Model ACCEL: a four-categories model Category II: in IO/edit tab: show / hide values: values of all quantities results output: (too …) few decimals
8 A Core Course on Modeling Category III: cat.-III is automatically detected for numbers or strings Cat-III is detected for expressions with constants only: X = 3 * sin (7.14 / 5) don't use numerical constants in expressions: x = pricePerUnit * nrUnits x = * nrUnits x = 2 * PI * r (built-in constants: PI and E) Week 5 – Roles of Quantities in a Functional Model ACCEL: a four-categories model why not?
9 A Core Course on Modeling Week 5 – Roles of Quantities in a Functional Model ACCEL: a four-categories model image: Category IV: Expressions should be simple as possible: Prefer y = x * p, p = z + t over y = x * (z+t) when in doubt: inspect! make temporary cat.-II quantity (even) better trick: next week
10 A Core Course on Modeling Week 5 – Roles of Quantities in a Functional Model ACCEL: a four-categories model Category IV: efficiency: re-use common sub- expressions consider user defined functions image:
11 A Core Course on Modeling Week 5 – Roles of Quantities in a Functional Model ACCEL: a four-categories model Category IV: efficiency: re-use common sub- expressions consider user defined functions u = a + b*log(c)*sin(d) v = e + b*log(c)*sin(d) term = b*log(c)*sin(d) u=a + term v=e + term re-using same value
12 A Core Course on Modeling Week 5 – Roles of Quantities in a Functional Model ACCEL: a four-categories model Category IV: efficiency: re-use common sub- expressions consider user defined functions u = a + b*log(c)*sin(d) v = e + p*log(q)*sin(r) term(x,y,z) = x*log(y)*sin(z) u = a + term(b,c,d) v = e + term(p,q,r) re-using same thinking
13 A Core Course on Modeling Week 5 – Roles of Quantities in a Functional Model ACCEL: dominance & pareto optimality image: submission-from.html
14 A Core Course on Modeling Dominance Ordinal cat.-II quantities: C 1 dominates C 2 C 1.q i is better than C 2.q i for all q i ; ‘better’: ‘ ’ (e.g., profit); more cat.-II quantities: fewer dominated solutions. Week 5-Roles of Quantities in a Functional Model ACCEL: dominance & pareto optimality
15 A Core Course on Modeling Week 5-Roles of Quantities in a Functional Model q 1 (e.g., profit) q 2 (e.g., waste) C2C2 C1C1 C3C3 C 1 dominates C 2 C 2,C 3 : no dominance C 1 dominates C 3 ACCEL: dominance & pareto optimality Dominance Ordinal cat.-II quantities: C 1 dominates C 2 C 1.q i is better than C 2.q i for all q i ; ‘better’: ‘ ’ (e.g., profit); more cat.-II quantities: fewer dominated solutions.
16 A Core Course on Modeling Week 5-Roles of Quantities in a Functional Model ACCEL: dominance & pareto optimality image Dominance Only non-dominated solutions are relevant Dominance: prune cat.-I space; More cat.-II quantities: more none-dominated solutions nr. cat.-II quantities should be small.
17 A Core Course on Modeling Week 5 – Roles of Quantities in a Functional Model ACCEL: dominance & pareto optimality Dominance in ACCEL y=paretoMax(expression) enlist for maximum y=paretoMin(expression) enlist for minimum To use Pareto algorithm, express all conditions into penalties For inspection of the results: Paretoplot paretoHor(x) paretoVer(x)
18 A Core Course on Modeling Week 5 – Roles of Quantities in a Functional Model ACCEL: dominance & pareto optimality Dominance in ACCEL myArea=paretoHor(paretoMax(p[myProv].area)) myPop=paretoVer(paretoMin(p[myProv].pop)) p=[Pgr,Pfr,Pdr,Pov,Pgl,Put,Pnh,Pzh,Pzl,Pnb,Pli] myProv=slider(0,0,11) myCap=p[myProv].cap Pfr=['cap':'leeuwarden','pop':647239,'area': ]... Pli=['cap':'maastricht','pop': ,'area': ]
19 A Core Course on Modeling D Week 5-Roles of Quantities in a Functional Model ACCEL: dominance & pareto optimality Dominance in ACCEL Dominated areas: bounded by iso-cat.-II quantitiy lines; Solutions in dominated areas: ignore; Non-dominated solutions: Pareto front.
20 A Core Course on Modeling Week 5-Roles of Quantities in a Functional Model ACCEL: strength-algorithm Optimization in practice Find 'best' concepts in cat.-I space. Mathematical optimization: single- valued functions. The 'mounteneer approach'; Only works for 1 cat.-II quantity. image:
21 A Core Course on Modeling Week 5-Roles of Quantities in a Functional Model ACCEL: strength-algorithm Optimization in practice Eckart Zitzler: Pareto + Evolution. genotype = blueprint of individual (‘cat.-I’); genotype is passed over to offspring; genotype phenotype, determines fitness (‘cat.-II’); variation in genotypes variation among phenotypes; fitter phenotypes beter gene-spreading.
22 A Core Course on Modeling Week 5-Roles of Quantities in a Functional Model ACCEL: strength-algorithm Optimization in practice Start: population of random individuals (tuples of values for cat.-I quantities); Fitness: fitter when dominated by fewer; Next generation: preserve non-dominated ones; Complete population: mutations and crossing-over; Convergence: Pareto front stabilizes. image:
23 A Core Course on Modeling Week 5-Roles of Quantities in a Functional Model ACCEL: strength-algorithm Optimization in practice: caveats Too large % non-dominated concepts: no progress; Find individuals in narrow niche: problematic; Analytical alternatives may not exist Need guarantee for optimal solution DON’T use Pareto-Genetic. image:
24 A Core Course on Modeling Week 5-Roles of Quantities in a Functional Model ACCEL: strength-algorithm Optimization in practice: brute force If anything else fails: local optimization for individual elements of the Pareto-front; Split cat.-I space in sub spaces if model function behaves different in different regimes; Temporarily fix some cat.-IV quantities (pretend that they are in category-III).
25 A Core Course on Modeling Week 5-Roles of Quantities in a Functional Model Examples Optimal province: spaciousness = area / population or area population paretoMax paretoMin 1 cat.-II quantity 2 cat.-II quantities meaningful quantity, related to purpose
26 A Core Course on Modeling Week 5-Roles of Quantities in a Functional Model Examples Optimal street lamps: efficiency = power * penalty or power penalty paretoMin 1 cat.-II quantity 2 cat.-II quantities not too much light not too little light contrived quantity, not related to purpose
27 A Core Course on Modeling Week 5-Roles of Quantities in a Functional Model Examples Optimal street lamps: dL=slider(25.5,5,50) h=slider(5.5,3,30) p=slider(500.1,100,2000) intPenalty=paretoMin(paretoHor(- min(minP,minInt)+max(maxP,maxInt)-(maxP-minP))) roadLength=40 roadWidth=15... problem: too slow to do optimization
28 A Core Course on Modeling Week 5-Roles of Quantities in a Functional Model Examples Optimal street lamps: dL=slider(25.5,5,50) h=slider(5.5,3,30) p=slider(500.1,100,2000) intPenalty=paretoMin(paretoHor(- min(minP,minInt)+max(maxP,maxInt)-(maxP-minP))) roadLength=40 roadWidth=15... problem: too slow to do optimization Minimal intensity computed by the model Minimal intensity to see road marks Maximal intensity computed by the model Maximal intensity tnot to be blinded
29 A Core Course on Modeling Week 5-Roles of Quantities in a Functional Model Examples Optimal street lamps: dL=slider(25.5,5,50) h=slider(5.5,3,30) p=slider(500.1,100,2000) intPenalty=paretoMin(paretoHor(- min(minP,minInt)+max(maxP,maxInt)-(maxP-minP))) roadLength=40 roadWidth=2... problem: too slow to do optimization use symmetry problem: awkward metric in cat.-II space
30 A Core Course on Modeling Week 5-Roles of Quantities in a Functional Model Examples Optimal street lamps: dL=slider(25.5,5,50) h=slider(5.5,3,30) p=slider(500.1,100,2000) intPenalty=paretoMin(paretoHor(log( min(minP,minInt)+max(maxP,maxInt)-(maxP-minP)))) roadLength=40 roadWidth=2... problem: awkward metric in cat.-II space scale penaltyproblem: border optima ??? intPenalty minPmaxP minIntmaxInt
31 A Core Course on Modeling Week 5-Roles of Quantities in a Functional Model Examples Optimal street lamps: dL=slider(25.5,5,50) h=slider(5.5,1,30) p=slider(500.1,50,2000) intPenalty=paretoMin(paretoHor(log( min(minP,minInt)+max(maxP,maxInt)-(maxP-minP)))) roadLength=40 roadWidth=2... problem: border optima ??? expand cat.-I ranges
32 A Core Course on Modeling Week 5-Roles of Quantities in a Functional Model Examples Optimal street lamps: Summary: check if model exploits symmetries check if penalty functions represent intuition check if optima are not on arbitrary borders keep thinking: interpret trends (h 0, l 0 … 1D approximation …?)