1 A Core Course on Modeling ACCEL (continued) a 4 categories model dominance and Pareto optimality...

32
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

Transcript of 1 A Core Course on Modeling ACCEL (continued) a 4 categories model dominance and Pareto optimality...

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

http://www.gulfdine.com/McDonald's_Markiya

6

A Core Course on ModelingWeek 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 ModelingWeek 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 = 3.546 * 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 ModelingWeek 5 – Roles of Quantities in a Functional Model

ACCEL: a four-categories model

image: http://shyatwow.blogspot.nl/2010/11/bug-day-inspect-bugs.html

•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 ModelingWeek 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: http://mewantplaynow.blogspot.nl/

11

A Core Course on ModelingWeek 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 ModelingWeek 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 ModelingWeek 5 – Roles of Quantities in a Functional Model

ACCEL: dominance & pareto optimality

image: http://hellnearyou.blogspot.nl/2010/06/aspria-managers-want-submission-from.html

14

A Core Course on Modeling

Dominance

• Ordinal cat.-II quantities:

• C1 dominates C2 C1.qi is

better than C2.qi for all qi;

• ‘better’: ‘<‘ (e.g., waste) or ‘>’ (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 ModelingWeek 5-Roles of Quantities in a Functional Model

q1 (e.g., profit)

q2

(e.g., waste)

C2

C1

C3

C1 dominates C2

C2,C3: no dominance

C1 dominates C3

ACCEL: dominance & pareto optimality

Dominance

• Ordinal cat.-II quantities:

• C1 dominates C2 C1.qi is

better than C2.qi for all qi;

• ‘better’: ‘<‘ (e.g., waste) or ‘>’ (e.g., profit);

• more cat.-II quantities: fewer dominated solutions.

16

A Core Course on ModelingWeek 5-Roles of Quantities in a Functional Model

ACCEL: dominance & pareto optimality

image http://ornamentalplant.blogspot.nl/2011/07/trimming-pruning.html

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 ModelingWeek 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 ModelingWeek 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].capPfr=['cap':'leeuwarden','pop':647239,'area':5748.74]. . .Pli=['cap':'maastricht','pop':1121483,'area':2209.22]

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 ModelingWeek 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: http://www.usdivetravel.com/T-BolivianAndesExpedition.html

21

A Core Course on ModelingWeek 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 ModelingWeek 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: http://www.freakingnews.com/Mutation-Pictures---2317.asp

23

A Core Course on ModelingWeek 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: http://glup.me/epic-fail-pics-serie-196

24

A Core Course on ModelingWeek 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).

http://www.square2marketing.com/Portals/112139/images/the-hulk-od-2003-resized-600.jpg

25

A Core Course on ModelingWeek 5-Roles of Quantities in a Functional Model

Examples

Optimal province:

spaciousness = area / population

or

area

population

paretoMax

paretoMax

paretoMin

1 cat.-II quantity

2 cat.-II quantities

meaningful quantity, related to purpose

26

A Core Course on ModelingWeek 5-Roles of Quantities in a Functional Model

Examples

Optimal street lamps:

efficiency = power * penalty

or

power

penalty

paretoMin

paretoMin

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 ModelingWeek 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=40roadWidth=15. . .

problem: too slow to do optimization

28

A Core Course on ModelingWeek 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=40roadWidth=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 ModelingWeek 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=40roadWidth=2. . .

problem: too slow to do optimization use symmetryproblem: awkward metric in cat.-II space

30

A Core Course on ModelingWeek 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(0.00001-min(minP,minInt)+max(maxP,maxInt)-(maxP-minP))))

roadLength=40roadWidth=2. . .

problem: awkward metric in cat.-II space scale penaltyproblem: border optima ???

intPenalty

minP maxP

minInt maxInt

31

A Core Course on ModelingWeek 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(0.00001-min(minP,minInt)+max(maxP,maxInt)-(maxP-minP))))

roadLength=40roadWidth=2. . .

problem: border optima ??? expand cat.-I ranges

32

A Core Course on ModelingWeek 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, l0 … 1D approximation …?)