|
1 | | -# Using Markowitz‐Style Optimization for Bouquet Design |
| 1 | +# Using Markowitz-Style Optimization for Bouquet Design |
2 | 2 |
|
3 | 3 | ## Can We Apply Markowitz Directly? |
4 | 4 |
|
5 | | -> **Short answer:** Yes, you **can** cast bouquet design as a mean–variance problem, but it takes extra effort because beauty is not a simple, linear “return,” and aesthetic “risk” is tricky to define. |
| 5 | +> **Short answer:** Yes, you *can* cast bouquet design as a mean–variance problem, but it takes extra effort because beauty is not a simple, linear “return,” and aesthetic “risk” is tricky to define. |
6 | 6 |
|
7 | 7 | --- |
8 | 8 |
|
9 | | -## 1 Mapping Markowitz Terms to Floral Design |
| 9 | +## 1 Mapping Markowitz Terms to Floral Design |
10 | 10 |
|
11 | | -| Markowitz Term | Floral Analogue | How You Might Measure It | |
12 | | -| -------------- | --------------- | ------------------------ | |
13 | | -| **Asset weight \(w_i\)** | Proportion or count of stems of flower *i* | Decision variables (often integers) | |
14 | | -| **Expected return \(\mu_i\)** | Average beauty contribution of one stem of flower *i* | Crowd-sourced ratings, expert scores, ML predictions | |
15 | | -| **Covariance \(\Sigma_{ij}\)** | Disharmony/clash between flowers *i* and *j* | Pair-wise harmony scores, color-wheel distance, shape-clash metrics | |
16 | | -| **Portfolio return \(w^\top\mu\)** | Total predicted beauty | Linear sum of contributions | |
17 | | -| **Portfolio risk \(w^\top\Sigma w\)** | Aggregate discordance risk (lack of unity) | Quadratic clash penalty | |
| 11 | +| Markowitz term | Floral analogue | How you might measure it | |
| 12 | +|-----------------------------------|-------------------------------------------------------------|--------------------------| |
| 13 | +| **Asset weight $w_i$** | Proportion or count of stems of flower _i_ | Decision variables (often integers) | |
| 14 | +| **Expected return $\mu_i$** | Average beauty contribution of one stem of flower _i_ | Crowd-sourced ratings, expert scores, ML predictions | |
| 15 | +| **Covariance $\Sigma_{ij}$** | Disharmony/clash between flowers _i_ and _j_ | Pairwise harmony scores, colour-wheel distance, shape-clash metrics | |
| 16 | +| **Portfolio return $w^\top\mu$** | Total predicted beauty | Linear sum of contributions | |
| 17 | +| **Portfolio risk $w^\top\Sigma w$** | Aggregate discordance risk (lack of unity) | Quadratic clash penalty | |
18 | 18 |
|
19 | 19 | **Continuous formulation** |
20 | 20 |
|
21 | | -\[ |
| 21 | +$$ |
22 | 22 | \begin{aligned} |
23 | | -\max_{w}\;& w^\top\mu \;-\;\lambda\,w^\top\Sigma w \\[6pt] |
| 23 | +\max_{w}\;& w^\top\mu \;-\;\lambda\,w^\top\Sigma w \\[4pt] |
24 | 24 | \text{s.t. }& \mathbf 1^\top w = 1,\quad w \ge 0 |
25 | 25 | \end{aligned} |
26 | | -\] |
| 26 | +$$ |
27 | 27 |
|
28 | 28 | --- |
29 | 29 |
|
30 | | -## 2 Why Most Florists Don’t Stop Here |
| 30 | +## 2 Why Most Florists Don’t Stop Here |
31 | 31 |
|
32 | | -| Issue | Why It Matters for Bouquets | |
33 | | -| ----- | --------------------------- | |
34 | | -| **Non-additive beauty** | Synergies/clashes are often *non-linear*. | |
| 32 | +| Issue | Why it matters for bouquets | |
| 33 | +|-------|-----------------------------| |
| 34 | +| **Non-additive beauty** | Synergies and clashes are often *non-linear*. | |
35 | 35 | | **Risk ≠ variance** | A symmetric variance treats all deviations equally; humans don’t. | |
36 | | -| **Tiny integer portfolios** | 12–24 stems → integer quadratic program, not the smooth QP Markowitz likes. | |
37 | | -| **Data burden** | Need an *N × N* clash matrix; expensive to collect. | |
38 | | -| **Beauty is multi-objective** | People like *unity and variety* simultaneously (an inverted-U curve). | |
| 36 | +| **Tiny integer portfolios** | 12–24 stems → an integer quadratic program, not the smooth QP Markowitz likes. | |
| 37 | +| **Data burden** | Need an $N \times N$ clash matrix; expensive to collect. | |
| 38 | +| **Beauty is multi-objective** | People like *unity **and** variety* simultaneously (an inverted-U curve). | |
39 | 39 |
|
40 | 40 | --- |
41 | 41 |
|
42 | | -## 3 Making Markowitz Useful Anyway |
| 42 | +## 3 Making Markowitz Useful Anyway |
43 | 43 |
|
44 | | -1. **Rate single stems** → get \(\mu_i\). |
45 | | -2. **Rate pairs of stems** → build clash matrix \(\Sigma\). |
| 44 | +1. **Rate single stems** → get $\mu_i$. |
| 45 | +2. **Rate pairs of stems** → build clash matrix $\Sigma$. |
46 | 46 | 3. **Add florist constraints** |
47 | | - - Integer counts |
48 | | - - Budget and stem limits |
49 | | - - Colour quotas, minimum greens, etc. |
| 47 | + * Integer counts |
| 48 | + * Budget and stem limits |
| 49 | + * Colour quotas, minimum greens, etc. |
50 | 50 | 4. **Solve the integer QP** (branch-and-bound or meta-heuristic). |
51 | 51 | 5. **Designer tweak pass** to fine-tune beyond the model. |
52 | 52 |
|
53 | 53 | --- |
54 | 54 |
|
55 | | -## 4 Alternatives & Hybrids |
| 55 | +## 4 Alternatives & Hybrids |
56 | 56 |
|
57 | | -* **Multi-objective genetic / flower-pollination algorithms**: naturally handle unity *and* variety. |
58 | | -* **Black–Litterman-style priors**: blend expert views with crowd data. |
59 | | -* **Robust or CVaR risk measures**: penalise ugly clashes more than mild disharmony. |
| 57 | +* **Multi-objective genetic / flower-pollination algorithms** — naturally handle unity *and* variety. |
| 58 | +* **Black–Litterman-style priors** — blend expert views with crowd data. |
| 59 | +* **Robust or CVaR risk measures** — penalise ugly clashes more than mild disharmony. |
60 | 60 |
|
61 | 61 | --- |
62 | 62 |
|
|
0 commit comments