From d620e92100916c38b65a5ce924f057ab3a728cfa Mon Sep 17 00:00:00 2001 From: Alexander Schiftner Date: Sat, 20 Apr 2024 13:36:54 +0200 Subject: [PATCH 01/25] fork and typing of NSGA II algorithm --- src/optimization/nsga2.ts | 347 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 347 insertions(+) create mode 100644 src/optimization/nsga2.ts diff --git a/src/optimization/nsga2.ts b/src/optimization/nsga2.ts new file mode 100644 index 00000000..bf1900e3 --- /dev/null +++ b/src/optimization/nsga2.ts @@ -0,0 +1,347 @@ + + +/** + * Type of the objective function. + */ +type ObjectiveFunctionType = (chromosome: Tchromosome[]) => number[]; + +/** + * Type of the genome function which creates a random chromosome based on the index of the chromosome. + */ +type GenomeFunctionType = (index: number) => Tchromosome; + +/** + * A class for the NSGA-II optimization algorithm. + * Copied and adapted from https://github.com/Aiei/nsga2/tree/master + */ +export class NSGA2 +{ + chromosomeSize: number; + objectiveSize: number; + populationSize: number; + maxGenerations: number; + mutationRate: number = 0; + crossoverRate: number = 0; + objectiveFunction: ObjectiveFunctionType; + genomeFunction: GenomeFunctionType; + + constructor( + chromosomeSize: number, + objectiveSize: number, + populationSize: number, + maxGenerations: number, + objectiveFunction: ObjectiveFunctionType, + genomeFunction: GenomeFunctionType + ) { + this.chromosomeSize = chromosomeSize; + this.objectiveSize = objectiveSize; + this.populationSize = populationSize; + this.maxGenerations = maxGenerations; + this.genomeFunction = genomeFunction; + this.objectiveFunction = objectiveFunction; + } + + optimize(frontOnly: boolean = false): any { + const timeStamp = Date.now(); + // First parents + let pop: Individual[]; + pop = this.initPopulation(); + this.sort(pop); + pop = this.setCrowdingDistances(pop); + // Main loop + let generationCount: number = 1; + while (generationCount < this.maxGenerations) { + const offsprings = this.generateOffsprings(pop); + pop = pop.concat(offsprings); + const sortedPop = this.sort(pop); + pop = this.setCrowdingDistances(pop); + let nextPop: Individual[] = []; + const sortedPopLength = sortedPop.length; + for (let i = 0; i < sortedPopLength; i++) { + if (sortedPop[i].length + nextPop.length <= this.populationSize) + { + nextPop = nextPop.concat(sortedPop[i]); + } else if (nextPop.length < this.populationSize) { + this.sortByCrowdingDistance(sortedPop[i]); + let j = 0; + while (nextPop.length < this.populationSize) { + nextPop.push(sortedPop[i][j]); + j++; + } + } + } + pop = nextPop; + generationCount++; + } + // Timestamp + console.log("NSGA2 Finished in " + (Date.now() - timeStamp) + + " milliseconds."); + // Return pareto fronts only + if (frontOnly) { + const fpop: Individual[] = []; + for (const p of pop) { + if (p.paretoRank == 1) { + fpop.push(p); + } + } + + return fpop; + } + + return pop; + } + + + + protected initPopulation(): Individual[] { + const population : Individual[] = []; + for (let i = 0; i < this.populationSize; i++) { + population[i] = this.createRandomIndividual(); + } + + return population; + } + + protected createRandomIndividual(): Individual { + const newIndividual = new Individual(this.chromosomeSize); + for (let i = 0; i < this.chromosomeSize; i++) { + newIndividual.chromosome[i] = this.genomeFunction(i); + } + newIndividual.calculateObjectives(this.objectiveFunction); + + return newIndividual; + } + + protected sort(individuals: Individual[]): Individual[][] { + const fronts: Individual[][] = []; + fronts[0] = []; + const l = individuals.length; + for (let i = 0; i < l; i++) { + individuals[i].individualsDominated = []; + individuals[i].dominatedCount = 0; + for (let j = 0; j < l; j++) { + if (i == j) { continue; } + if (individuals[i].dominate(individuals[j])) { + individuals[i].individualsDominated + .push(individuals[j]); + } else if (individuals[j].dominate(individuals[i])) { + individuals[i].dominatedCount += 1; + } + } + if (individuals[i].dominatedCount <= 0) { + individuals[i].paretoRank = 1; + fronts[0].push(individuals[i]); + } + } + let rank = 0; + // [i-1] because stupid scientists always start arrays at 1 + while (fronts[rank].length > 0) { + const nextFront: Individual[] = []; + for (let k = 0; k < fronts[rank].length; k++) { + for (let j = 0; j < fronts[rank][k].individualsDominated.length; j++) { + fronts[rank][k].individualsDominated[j] + .dominatedCount -= 1; + if (fronts[rank][k].individualsDominated[j].dominatedCount == 0) { + fronts[rank][k].individualsDominated[j] + .paretoRank = rank + 2; + nextFront.push( + fronts[rank][k].individualsDominated[j]); + } + } + } + rank += 1; + fronts[rank] = nextFront; + } + + return fronts; + } + + protected setCrowdingDistances(individuals: Individual[]): Individual[] { + for (let i = 0; i < individuals.length; i++) { + individuals[i].crowdingDistance = 0; + } + for (let m = 0; m < this.objectiveSize; m++) { + + let objectiveMin: number = Infinity; + let objectiveMax: number = 0; + for (const idv of individuals) { + if (idv.objectives[m] > objectiveMax) { + objectiveMax = idv.objectives[m]; + } + if (idv.objectives[m] < objectiveMin) { + objectiveMin = idv.objectives[m]; + } + } + + this.sortByObjective(individuals, m); + // Prevent NaN + if (objectiveMax - objectiveMin <= 0) { + continue; + } + individuals[0].crowdingDistance = Infinity; + const lastIndex = individuals.length - 1; + individuals[lastIndex].crowdingDistance = Infinity; + for (let i = 1; i < individuals.length - 1; i++) { + individuals[i].crowdingDistance = individuals[i].crowdingDistance + + ( (individuals[i+1].objectives[m] - individuals[i-1].objectives[m]) / (objectiveMax - objectiveMin) ); + } + } + + return individuals; + } + + protected sortByObjective(individuals: Individual[], objectiveId: number) { + let tmp; + for (let i = 0; i < individuals.length; i++) { + for (let j = i; j > 0; j--) { + if (individuals[j].objectives[objectiveId] - + individuals[j - 1].objectives[objectiveId] < 0) + { + tmp = individuals[j]; + individuals[j] = individuals[j - 1]; + individuals[j - 1] = tmp; + } + } + } + } + + protected generateOffsprings(parents: Individual[]): Individual[] { + const offsprings: Individual[] = []; + while (offsprings.length < this.populationSize) { + const parentA = this.getGoodParent(parents); + const parentB = this.getGoodParent(parents); + const childs = this.mate(parentA, parentB); + offsprings.push(childs[0], childs[1]); + } + + return offsprings; + } + + protected mate(parentA: Individual, parentB: Individual): Individual[] { + // Create two childs + const childs = [new Individual(this.chromosomeSize), new Individual(this.chromosomeSize)]; + childs[0].chromosome = + parentA.chromosome.slice(0, this.chromosomeSize); + childs[1].chromosome = + parentB.chromosome.slice(0, this.chromosomeSize); + // Crossovers + this.crossover(childs[0], childs[1], this.crossoverRate); + // Mutations + this.mutate(childs[0], this.mutationRate); + this.mutate(childs[1], this.mutationRate); + childs[0].calculateObjectives(this.objectiveFunction); + childs[1].calculateObjectives(this.objectiveFunction); + + return childs; + } + + protected crossover(a: Individual, b: Individual, rate: number) { + for (let i = 0; i < this.chromosomeSize; i++) { + if (Math.random() < rate) { + const tmp = a.chromosome[i]; + a.chromosome[i] = b.chromosome[i]; + b.chromosome[i] = tmp; + } + } + } + + protected mutate(individual: Individual, rate: number) { + for (let i = 0; i < individual.chromosome.length; i++) { + if (Math.random() < rate) { + individual.chromosome[i] = this.genomeFunction(i); + } + } + } + + protected getGoodParent(parents: Individual[]): Individual { + let r: number[]; + do { + r = [ + Math.floor(Math.random() * parents.length), + Math.floor(Math.random() * parents.length) + ]; + } while (r[0] == r[1]); + if (parents[r[0]].paretoRank < parents[r[1]].paretoRank) { + return parents[r[0]]; + } + if (parents[r[0]].paretoRank > parents[r[1]].paretoRank) { + return parents[r[1]]; + } + if (parents[r[0]].paretoRank == parents[r[1]].paretoRank) { + if (parents[r[0]].crowdingDistance >= + parents[r[1]].crowdingDistance) { + return parents[r[0]]; + } + if (parents[r[0]].crowdingDistance < + parents[r[1]].crowdingDistance) { + return parents[r[1]]; + } + } + + /** + * This should never happen. + */ + return parents[0]; + } + + protected sortByCrowdingDistance(individuals: Individual[]) { + let tmp; + for (let i = 0; i < individuals.length; i++) { + for (let j = i; j > 0; j--) { + if (individuals[j].crowdingDistance - + individuals[j - 1].crowdingDistance < 0) + { + tmp = individuals[j]; + individuals[j] = individuals[j - 1]; + individuals[j - 1] = tmp; + } + } + } + individuals.reverse(); + } +} + +/** + * An individual in the population. + */ +export class Individual +{ + chromosome: Tchromosome[]; + objectives: number[] = []; + paretoRank: number = 0; + individualsDominated: Individual[] = []; + dominatedCount: number = 0; + crowdingDistance: number = 0; + + /** + * Constructor. + * @param chromosomeSize + */ + constructor(chromosomeSize: number) { + this.chromosome = new Array(chromosomeSize); + } + + /** + * Calculate the objectives of the individual using the given objective function. + * @param objectiveFunction + */ + calculateObjectives(objectiveFunction: ObjectiveFunctionType) { + this.objectives = objectiveFunction(this.chromosome); + } + + /** + * Check whether this individual dominates the other individual. + * @param other + * @returns True if this individual dominates the other individual. + */ + dominate(other: Individual): boolean { + const l = this.objectives.length; + for (let i = 0; i < l; i++) { + if (this.objectives[i] > other.objectives[i]) { + return false; + } + } + + return true; + } +} From 7452efcb1a9dcee930e5437adcf454aca05cb6e8 Mon Sep 17 00:00:00 2001 From: Alexander Schiftner Date: Sat, 20 Apr 2024 14:00:44 +0200 Subject: [PATCH 02/25] comments and async support --- src/optimization/nsga2.ts | 88 ++++++++++++++++++++++++++++++--------- 1 file changed, 69 insertions(+), 19 deletions(-) diff --git a/src/optimization/nsga2.ts b/src/optimization/nsga2.ts index bf1900e3..afb50701 100644 --- a/src/optimization/nsga2.ts +++ b/src/optimization/nsga2.ts @@ -3,7 +3,7 @@ /** * Type of the objective function. */ -type ObjectiveFunctionType = (chromosome: Tchromosome[]) => number[]; +type ObjectiveFunctionType = (chromosome: Tchromosome[]) => Promise; /** * Type of the genome function which creates a random chromosome based on the index of the chromosome. @@ -16,9 +16,17 @@ type GenomeFunctionType = (index: number) => Tchromosome; */ export class NSGA2 { + /** number of parameters to optimize */ chromosomeSize: number; + /** number of objectives (metrics) */ objectiveSize: number; + /** + * Size of the population. + */ populationSize: number; + /** + * Maximum number of generations to compute. + */ maxGenerations: number; mutationRate: number = 0; crossoverRate: number = 0; @@ -41,17 +49,24 @@ export class NSGA2 this.objectiveFunction = objectiveFunction; } - optimize(frontOnly: boolean = false): any { + /** + * Run the optimization. + * @param frontOnly If true return the individuals on the pareto front only. + * @returns + */ + async optimize(frontOnly: boolean = false): Promise[]> { const timeStamp = Date.now(); // First parents let pop: Individual[]; - pop = this.initPopulation(); + pop = await this.initPopulation(); this.sort(pop); pop = this.setCrowdingDistances(pop); // Main loop let generationCount: number = 1; while (generationCount < this.maxGenerations) { - const offsprings = this.generateOffsprings(pop); + // create offsprings + const offsprings = await this.generateOffsprings(pop); + // extend the population with the offsprings pop = pop.concat(offsprings); const sortedPop = this.sort(pop); pop = this.setCrowdingDistances(pop); @@ -74,8 +89,7 @@ export class NSGA2 generationCount++; } // Timestamp - console.log("NSGA2 Finished in " + (Date.now() - timeStamp) + - " milliseconds."); + console.log(`NSGA2 Finished in ${(Date.now() - timeStamp)} milliseconds.`); // Return pareto fronts only if (frontOnly) { const fpop: Individual[] = []; @@ -92,22 +106,30 @@ export class NSGA2 } - - protected initPopulation(): Individual[] { + /** + * Create initial randome population. + * The size is given by the globally configured population size. + * @returns + */ + protected async initPopulation(): Promise[]> { const population : Individual[] = []; for (let i = 0; i < this.populationSize; i++) { - population[i] = this.createRandomIndividual(); + population[i] = await this.createRandomIndividual(); } return population; } - protected createRandomIndividual(): Individual { + /** + * Create a random individual using the genome function. + * @returns + */ + protected async createRandomIndividual(): Promise> { const newIndividual = new Individual(this.chromosomeSize); for (let i = 0; i < this.chromosomeSize; i++) { newIndividual.chromosome[i] = this.genomeFunction(i); } - newIndividual.calculateObjectives(this.objectiveFunction); + await newIndividual.calculateObjectives(this.objectiveFunction); return newIndividual; } @@ -205,19 +227,31 @@ export class NSGA2 } } - protected generateOffsprings(parents: Individual[]): Individual[] { + /** + * Create offsprings from the given parents. + * The number of offsprings is given by the globally configured population size. + * @param parents + * @returns + */ + protected async generateOffsprings(parents: Individual[]): Promise[]> { const offsprings: Individual[] = []; while (offsprings.length < this.populationSize) { const parentA = this.getGoodParent(parents); const parentB = this.getGoodParent(parents); - const childs = this.mate(parentA, parentB); + const childs = await this.mate(parentA, parentB); offsprings.push(childs[0], childs[1]); } return offsprings; } - protected mate(parentA: Individual, parentB: Individual): Individual[] { + /** + * Mate two parents and return two childs. + * @param parentA + * @param parentB + * @returns + */ + protected async mate(parentA: Individual, parentB: Individual): Promise[]> { // Create two childs const childs = [new Individual(this.chromosomeSize), new Individual(this.chromosomeSize)]; childs[0].chromosome = @@ -229,12 +263,18 @@ export class NSGA2 // Mutations this.mutate(childs[0], this.mutationRate); this.mutate(childs[1], this.mutationRate); - childs[0].calculateObjectives(this.objectiveFunction); - childs[1].calculateObjectives(this.objectiveFunction); + await childs[0].calculateObjectives(this.objectiveFunction); + await childs[1].calculateObjectives(this.objectiveFunction); return childs; } + /** + * Crossover two individuals using the given rate. + * @param a + * @param b + * @param rate + */ protected crossover(a: Individual, b: Individual, rate: number) { for (let i = 0; i < this.chromosomeSize; i++) { if (Math.random() < rate) { @@ -245,6 +285,11 @@ export class NSGA2 } } + /** + * Mutate the individual using the given rate. + * @param individual + * @param rate + */ protected mutate(individual: Individual, rate: number) { for (let i = 0; i < individual.chromosome.length; i++) { if (Math.random() < rate) { @@ -253,6 +298,11 @@ export class NSGA2 } } + /** + * Choose a random good parent from the given parents. + * @param parents + * @returns + */ protected getGoodParent(parents: Individual[]): Individual { let r: number[]; do { @@ -277,7 +327,7 @@ export class NSGA2 return parents[r[1]]; } } - + /** * This should never happen. */ @@ -325,8 +375,8 @@ export class Individual * Calculate the objectives of the individual using the given objective function. * @param objectiveFunction */ - calculateObjectives(objectiveFunction: ObjectiveFunctionType) { - this.objectives = objectiveFunction(this.chromosome); + async calculateObjectives(objectiveFunction: ObjectiveFunctionType) { + this.objectives = await objectiveFunction(this.chromosome); } /** From de9abead6b2287b38df4a9b2f0b623d291e8ca4a Mon Sep 17 00:00:00 2001 From: Alexander Schiftner Date: Sat, 20 Apr 2024 14:10:16 +0200 Subject: [PATCH 03/25] NSGA-II docs --- src/optimization/README.md | 36 ++++++++++++++++++++++++++++++++++++ src/optimization/nsga2.pdf | Bin 0 -> 576916 bytes 2 files changed, 36 insertions(+) create mode 100644 src/optimization/README.md create mode 100644 src/optimization/nsga2.pdf diff --git a/src/optimization/README.md b/src/optimization/README.md new file mode 100644 index 00000000..89d5f62a --- /dev/null +++ b/src/optimization/README.md @@ -0,0 +1,36 @@ +# NSGA-II + +Find the original paper by Kalyanmoy Deb et al [here](https://www.cse.unr.edu/~sushil/class/gas/papers/nsga2.pdf). + +A video explaining NSGA-II can be found [here](https://www.youtube.com/watch?v=SL-u_7hIqjA). + +## NSGA-II as summarized by ChatGPT + +The NSGA-II (Non-dominated Sorting Genetic Algorithm II) is a popular multi-objective optimization algorithm designed to solve problems involving multiple conflicting objectives. Developed by Kalyanmoy Deb et al. in 2002, the algorithm is an enhancement of its predecessor, NSGA, and is specifically known for its efficiency and ability to maintain a diverse set of solutions. Here’s a breakdown of its key principles and how it operates: + +### 1. **Population Initialization** + NSGA-II starts with a randomly initialized population of potential solutions. Each solution in the population, called an individual, represents a possible set of decision variables for the optimization problem. + +### 2. **Fitness Evaluation** + Each individual in the population is evaluated based on the multiple objective functions of the problem. The fitness evaluation helps to determine how well each individual meets the criteria set by the objectives. + +### 3. **Non-dominated Sorting** + This is a crucial step where the population is sorted into different levels or fronts based on the concept of Pareto dominance. An individual solution \( A \) is said to dominate another solution \( B \) if it is at least as good as \( B \) in all objectives and better in at least one objective. The first front (Front 1) consists of solutions that are not dominated by any other solution. The second front consists of solutions that are only dominated by those in the first front, and so on. + +### 4. **Crowding Distance Calculation** + Within each front, a crowding distance is calculated for each individual. The crowding distance is a measure of how close an individual is to its neighbors. A larger crowding distance means a solution is more isolated, which is preferable as it promotes diversity in the solution set. + +### 5. **Selection** + NSGA-II uses a tournament selection process based on dominance and crowding distance. When selecting individuals for crossover and mutation, the algorithm prefers individuals that are less dominated (i.e., belong to a lower front) and are more isolated (i.e., have a higher crowding distance). + +### 6. **Crossover and Mutation** + These genetic operators are applied to selected individuals to generate new offspring, potentially exploring new and better regions of the solution space. Crossover combines the features of two parent solutions, while mutation introduces random changes to an individual, mimicking natural genetic variations. + +### 7. **Survivor Selection** + NSGA-II combines the parent and offspring populations and applies non-dominated sorting and crowding distance calculations again. The best individuals (based on fronts and crowding distance) are selected to form the new population for the next generation, ensuring that the population size remains constant. + +### 8. **Termination** + The algorithm repeats the process of selection, crossover, mutation, and survivor selection until a stopping criterion is met, which could be a maximum number of generations or a satisfactory convergence level. + +The result of NSGA-II is a set of solutions known as the Pareto front. These solutions are not dominated by any other feasible solutions and represent different trade-offs among the objectives, providing a diverse range of choices for decision-making scenarios. + diff --git a/src/optimization/nsga2.pdf b/src/optimization/nsga2.pdf new file mode 100644 index 0000000000000000000000000000000000000000..9c8e76dddc7c97ca4459547a17e3016fbb370a0d GIT binary patch literal 576916 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%0Dno% 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≧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%0A_HVnO?v3*7 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 A82|tP literal 0 HcmV?d00001 From 99c38fdd74fc194f020d26393ee8187355725f13 Mon Sep 17 00:00:00 2001 From: Alexander Schiftner Date: Sat, 20 Apr 2024 16:21:06 +0200 Subject: [PATCH 04/25] install geometry backend sdk --- package-lock.json | 8 +++++--- package.json | 1 + 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 28dff601..d847a098 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,16 +1,17 @@ { "name": "shapediver-appbuilder", - "version": "0.3.0-beta.3", + "version": "0.3.0-beta.4", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "shapediver-appbuilder", - "version": "0.3.0-beta.3", + "version": "0.3.0-beta.4", "dependencies": { "@emotion/react": "^11.11.4", "@mantine/core": "^7.6.2", "@mantine/hooks": "^7.6.2", + "@shapediver/sdk.geometry-api-sdk-v2": "^1.8.2", "@shapediver/sdk.platform-api-sdk-v1": "^2.18.10", "@shapediver/viewer": "2.12.7", "@shapediver/viewer.utils.mime-type": "1.0.1", @@ -3703,8 +3704,9 @@ }, "node_modules/@shapediver/sdk.geometry-api-sdk-v2": { "version": "1.8.2", - "resolved": "https://registry.npmjs.org/@shapediver/sdk.geometry-api-sdk-v2/-/sdk.geometry-api-sdk-v2-1.8.2.tgz", + "resolved": "https://npm.pkg.github.com/download/@shapediver/sdk.geometry-api-sdk-v2/1.8.2/fe52ed2bb30eae3a360c4b8304bd5ee409b3ef52", "integrity": "sha512-NBnWILQMBsgAOeYcR6AlDyFEwe80YVYez18eSpRfzNy9Op9ZVNhUImwnb21s3QwqmXV/10JZFm/AygEhWEbqig==", + "license": "ISC", "dependencies": { "@shapediver/api.geometry-api-dto-v2": "~1.15.1", "@shapediver/sdk.geometry-api-sdk-core": "~1.4.0" diff --git a/package.json b/package.json index f5395038..90ed51ab 100644 --- a/package.json +++ b/package.json @@ -8,6 +8,7 @@ "@emotion/react": "^11.11.4", "@mantine/core": "^7.6.2", "@mantine/hooks": "^7.6.2", + "@shapediver/sdk.geometry-api-sdk-v2": "^1.8.2", "@shapediver/sdk.platform-api-sdk-v1": "^2.18.10", "@shapediver/viewer": "2.12.7", "@shapediver/viewer.utils.mime-type": "1.0.1", From 9e17371d218bc9df5a2bda375284e4d0283aeb35 Mon Sep 17 00:00:00 2001 From: Alexander Schiftner Date: Sat, 20 Apr 2024 16:26:27 +0200 Subject: [PATCH 05/25] blueprint for model-optimizer --- src/optimization/nsga2.ts | 74 ++++++++++++----- src/optimization/optimizer.ts | 146 ++++++++++++++++++++++++++++++++++ 2 files changed, 201 insertions(+), 19 deletions(-) create mode 100644 src/optimization/optimizer.ts diff --git a/src/optimization/nsga2.ts b/src/optimization/nsga2.ts index afb50701..0d01eafc 100644 --- a/src/optimization/nsga2.ts +++ b/src/optimization/nsga2.ts @@ -10,36 +10,71 @@ type ObjectiveFunctionType = (chromosome: Tchromosome[]) => Promise */ type GenomeFunctionType = (index: number) => Tchromosome; +/** + * User-facing properties of the NSGA-II optimization algorithm. + */ +export interface INSGA2Props { + /** + * Size of the population. + */ + populationSize: number, + /** + * Maximum number of generations to compute. + */ + maxGenerations: number, +} + +/** + * Result of the NSGA-II optimization algorithm. + */ +export interface INSGA2Result { + /** + * The individuals on the pareto front. + */ + individuals: Individual[] + +} + +/** + * Internal properties of the NSGA-II optimization algorithm. + */ +export interface INSGA2InternalProps extends INSGA2Props { + /** number of parameters to optimize */ + chromosomeSize: number, + /** number of objectives (metrics) */ + objectiveSize: number, + /** + * Compute the objectives of a chromosome. + */ + objectiveFunction: ObjectiveFunctionType, + /** + * Create a random chromosome based on the index. + */ + genomeFunction: GenomeFunctionType +} + /** * A class for the NSGA-II optimization algorithm. * Copied and adapted from https://github.com/Aiei/nsga2/tree/master */ export class NSGA2 { - /** number of parameters to optimize */ chromosomeSize: number; - /** number of objectives (metrics) */ objectiveSize: number; - /** - * Size of the population. - */ populationSize: number; - /** - * Maximum number of generations to compute. - */ maxGenerations: number; mutationRate: number = 0; crossoverRate: number = 0; objectiveFunction: ObjectiveFunctionType; genomeFunction: GenomeFunctionType; - constructor( - chromosomeSize: number, - objectiveSize: number, - populationSize: number, - maxGenerations: number, - objectiveFunction: ObjectiveFunctionType, - genomeFunction: GenomeFunctionType + constructor( { + chromosomeSize, + objectiveSize, + populationSize, + maxGenerations, + objectiveFunction, + genomeFunction }: INSGA2InternalProps ) { this.chromosomeSize = chromosomeSize; this.objectiveSize = objectiveSize; @@ -52,9 +87,9 @@ export class NSGA2 /** * Run the optimization. * @param frontOnly If true return the individuals on the pareto front only. - * @returns + * @returns */ - async optimize(frontOnly: boolean = false): Promise[]> { + async optimize(frontOnly: boolean = false): Promise> { const timeStamp = Date.now(); // First parents let pop: Individual[]; @@ -99,10 +134,10 @@ export class NSGA2 } } - return fpop; + return { individuals: fpop }; } - return pop; + return { individuals: pop }; } @@ -235,6 +270,7 @@ export class NSGA2 */ protected async generateOffsprings(parents: Individual[]): Promise[]> { const offsprings: Individual[] = []; + // TODO parallelize the computation of offsprings while (offsprings.length < this.populationSize) { const parentA = this.getGoodParent(parents); const parentB = this.getGoodParent(parents); diff --git a/src/optimization/optimizer.ts b/src/optimization/optimizer.ts new file mode 100644 index 00000000..8c416204 --- /dev/null +++ b/src/optimization/optimizer.ts @@ -0,0 +1,146 @@ +import { + ShapeDiverResponseDto, + ShapeDiverResponseOutput, + ShapeDiverResponseOutputDefinition, + ShapeDiverSdk, + create +} from "@shapediver/sdk.geometry-api-sdk-v2"; +import { SessionCreationDefinition } from "@shapediver/viewer"; +import { INSGA2Props, INSGA2Result, NSGA2 } from "./nsga2"; + +/** + * Type for default parameter values (parameters not to be optimized) + */ +type DefaultParameterValueType = { [key: string]: string }; + +/** + * Type used for Chromosomes + */ +type ChromosomeType = string; + +/** + * Properties for creating a ShapeDiverModelOptimizer + */ +export interface IShapeDiverModelOptimizerCreateProps { + /** + * Definition of the session to create + */ + sessionDto: SessionCreationDefinition, + /** + * Default values for the parameters which should not be optimized + */ + defaultParameterValues: DefaultParameterValueType, +} + +/** + * Properties for optimizing a ShapeDiver model + */ +export interface IShapeDiverModelOptimizerProps { + parameterIds: string[], + optimizerProps: Tprops, +} + +/** + * Interface for a ShapeDiver model optimizer + */ +export interface IShapeDiverModelOptimizer { + /** + * Run the optimization + * @param options + * @returns + */ + optimize: (options: IShapeDiverModelOptimizerProps) => Promise; +} + +/** + * Name of the data output which defines the objectives + */ +const OBJECTIVE_OUTPUT_NAME = "Objectives"; + +/** + * Interface for the data output of the objectives + */ +interface IObjectOutputData { [key: string]: number } + +/** + * ShapeDiver model optimizer using NSGA2 + */ +export class ShapeDiverModelOptimizerNsga2 implements IShapeDiverModelOptimizer> { + + objectiveOutput: ShapeDiverResponseOutputDefinition; + initialObjectives: IObjectOutputData; + objectiveSize: number; + + constructor( + private sdk: ShapeDiverSdk, + private modelDto: ShapeDiverResponseDto, + private defaultParameterValues: DefaultParameterValueType + ) { + + const _objectiveOutput = Object.values(modelDto.outputs!).find(output => output.name === OBJECTIVE_OUTPUT_NAME); + if (!_objectiveOutput) { + throw new Error(`Output "${OBJECTIVE_OUTPUT_NAME}" not found in model`); + } + this.objectiveOutput = _objectiveOutput; + + const content = (_objectiveOutput as ShapeDiverResponseOutput).content; + if (!content || content.length !== 1) { + throw new Error(`Output "${OBJECTIVE_OUTPUT_NAME}" must have exactly one content item`); + } + + this.initialObjectives = content[0].data as IObjectOutputData; + this.objectiveSize = Object.keys(this.initialObjectives).length; + } + + /** + * Create an instance of the NSGA-II optimizer. + * @param props + * @returns + */ + public static async create(props: IShapeDiverModelOptimizerCreateProps): Promise>> { + + const { sessionDto, defaultParameterValues } = props; + + const sdk = create(sessionDto.modelViewUrl, sessionDto.jwtToken); + const modelDto = await sdk.session.init(sessionDto.ticket!); + + return new ShapeDiverModelOptimizerNsga2(sdk, modelDto, defaultParameterValues); + } + + public async optimize(props: IShapeDiverModelOptimizerProps): Promise> { + const { parameterIds, optimizerProps: optimizerOptions } = props; + + const chromosomeSize = parameterIds.length; + const genomeFunction = (index: number): string => { + const parameterId = parameterIds[index]; + const parameterDefinition = this.modelDto.parameters![parameterId]; + // TODO create random value for parameter + + return parameterDefinition.defval; + }; + + const nsga2 = new NSGA2({ + chromosomeSize, + genomeFunction, + objectiveSize: this.objectiveSize, + objectiveFunction: this.objectiveFunction.bind(this), + ...optimizerOptions}); + + return await nsga2.optimize(true); + } + + /** + * Evaluate the objectives for a given chromosome + * @param chromosome + * @returns + */ + async objectiveFunction(chromosome: string[]): Promise { + // TODO run ShapeDiver computation + console.debug("Running ShapeDiver computation with chromosome", chromosome); + + return new Array(this.objectiveSize).fill(0); + } + + + +} From f525aab63fdd252295dbf07b0e8da54f5fba43ee Mon Sep 17 00:00:00 2001 From: Alexander Schiftner Date: Sat, 20 Apr 2024 17:19:47 +0200 Subject: [PATCH 06/25] optimizer widget blueprint --- .../AppBuilderOptimizerWidgetComponent.tsx | 58 +++++++++++++++++++ .../appbuilder/AppBuilderWidgetsComponent.tsx | 5 +- src/context/AppBuilderContext.ts | 10 ++++ src/optimization/optimizer.ts | 8 +-- src/pages/appbuilder/AppBuilderPage.tsx | 5 +- src/types/shapediver/appbuilder.ts | 15 ++++- src/types/shapediver/appbuildertypecheck.ts | 6 ++ 7 files changed, 98 insertions(+), 9 deletions(-) create mode 100644 src/components/shapediver/appbuilder/AppBuilderOptimizerWidgetComponent.tsx diff --git a/src/components/shapediver/appbuilder/AppBuilderOptimizerWidgetComponent.tsx b/src/components/shapediver/appbuilder/AppBuilderOptimizerWidgetComponent.tsx new file mode 100644 index 00000000..5f981fdf --- /dev/null +++ b/src/components/shapediver/appbuilder/AppBuilderOptimizerWidgetComponent.tsx @@ -0,0 +1,58 @@ +import { ShapeDiverResponseParameter } from "@shapediver/sdk.geometry-api-sdk-v2"; +import { AppBuilderSettingsContext } from "context/AppBuilderContext"; +import { useSessionPropsParameter } from "hooks/shapediver/parameters/useSessionPropsParameter"; +import { useSortedParametersAndExports } from "hooks/shapediver/parameters/useSortedParametersAndExports"; +import { useOutputContent } from "hooks/shapediver/viewer/useOutputContent"; +import { IObjectiveOutputData, OBJECTIVE_OUTPUT_NAME, ShapeDiverModelOptimizerNsga2 } from "optimization/optimizer"; +import AlertPage from "pages/misc/AlertPage"; +import React, { useContext } from "react"; +import { IAppBuilderWidgetPropsOptimizer } from "types/shapediver/appbuilder"; + + +interface Props extends IAppBuilderWidgetPropsOptimizer { + /** + * Default session id to use for optimization. + */ + sessionId: string +} + +export default function AppBuilderOptimizerWidgetComponent(props: Props) { + const { + sessionId, + } = props; + + // get information about the AppBuilder settings (session, etc.) + const { settings: appBuilderSettings } = useContext(AppBuilderSettingsContext); + const sessionDto = appBuilderSettings!.sessions.find(s => s.id === sessionId)!; + + // get the objectives output + const { outputContent } = useOutputContent( sessionId, OBJECTIVE_OUTPUT_NAME ); + const objectives = outputContent?.[0]?.data as IObjectiveOutputData | undefined; + if (!objectives) return An output named {OBJECTIVE_OUTPUT_NAME} could not be found or provides no data.; + + + // get the parameters of the model + const parameterProps = useSessionPropsParameter(sessionId); + const sortedParamsAndExports = useSortedParametersAndExports(parameterProps); + + // get default values for the parameters + const defaultValues: { [key: string]: string } = {}; + sortedParamsAndExports.forEach(p => { + defaultValues[p.definition.id] = (p.definition as ShapeDiverResponseParameter).defval; + }); + + const runOptimizer = async () => { + const optimizer = await ShapeDiverModelOptimizerNsga2.create({sessionDto, defaultParameterValues: defaultValues}); + optimizer.optimize({ + parameterIds: [], + optimizerProps: { + populationSize: 10, + maxGenerations: 10, + } + }); + }; + + + return <>; + +} diff --git a/src/components/shapediver/appbuilder/AppBuilderWidgetsComponent.tsx b/src/components/shapediver/appbuilder/AppBuilderWidgetsComponent.tsx index 3cddb35c..e3ef6e69 100644 --- a/src/components/shapediver/appbuilder/AppBuilderWidgetsComponent.tsx +++ b/src/components/shapediver/appbuilder/AppBuilderWidgetsComponent.tsx @@ -1,8 +1,9 @@ import React from "react"; -import { IAppBuilderWidget, isAccordionWidget, isImageWidget, isTextWidget } from "types/shapediver/appbuilder"; +import { IAppBuilderWidget, isAccordionWidget, isImageWidget, isOptimizerWidget, isTextWidget } from "types/shapediver/appbuilder"; import AppBuilderTextWidgetComponent from "./AppBuilderTextWidgetComponent"; import AppBuilderImageWidgetComponent from "./AppBuilderImageWidgetComponent"; import AppBuilderAccordionWidgetComponent from "./AppBuilderAccordionWidgetComponent"; +import AppBuilderOptimizerWidgetComponent from "./AppBuilderOptimizerWidgetComponent"; interface Props { /** @@ -28,6 +29,8 @@ export default function AppBuilderWidgetsComponent({ sessionId, widgets }: Props return ; else if (isAccordionWidget(w)) return ; + else if (isOptimizerWidget(w)) + return ; else return null; })} diff --git a/src/context/AppBuilderContext.ts b/src/context/AppBuilderContext.ts index f0c3041d..129e667f 100644 --- a/src/context/AppBuilderContext.ts +++ b/src/context/AppBuilderContext.ts @@ -1,4 +1,5 @@ import { createContext } from "react"; +import { IAppBuilderSettings } from "types/shapediver/appbuilder"; /** Types of containers */ export type AppBuilderContainerOrientationType = "unspecified" | "horizontal" | "vertical"; @@ -24,4 +25,13 @@ export interface IAppBuilderTemplateContext { /** Information about a template. */ export const AppBuilderTemplateContext = createContext({ name: "unspecified" +}); + +export interface IAppBuilderSettingsContext { + settings?: IAppBuilderSettings +} + +/** Information about AppBuilder settings. */ +export const AppBuilderSettingsContext = createContext({ + settings: undefined }); \ No newline at end of file diff --git a/src/optimization/optimizer.ts b/src/optimization/optimizer.ts index 8c416204..87ff72de 100644 --- a/src/optimization/optimizer.ts +++ b/src/optimization/optimizer.ts @@ -55,12 +55,12 @@ export interface IShapeDiverModelOptimizer { /** * Name of the data output which defines the objectives */ -const OBJECTIVE_OUTPUT_NAME = "Objectives"; +export const OBJECTIVE_OUTPUT_NAME = "Objectives"; /** * Interface for the data output of the objectives */ -interface IObjectOutputData { [key: string]: number } +export interface IObjectiveOutputData { [key: string]: number } /** * ShapeDiver model optimizer using NSGA2 @@ -68,7 +68,7 @@ interface IObjectOutputData { [key: string]: number } export class ShapeDiverModelOptimizerNsga2 implements IShapeDiverModelOptimizer> { objectiveOutput: ShapeDiverResponseOutputDefinition; - initialObjectives: IObjectOutputData; + initialObjectives: IObjectiveOutputData; objectiveSize: number; constructor( @@ -88,7 +88,7 @@ export class ShapeDiverModelOptimizerNsga2 implements IShapeDiverModelOptimizer< throw new Error(`Output "${OBJECTIVE_OUTPUT_NAME}" must have exactly one content item`); } - this.initialObjectives = content[0].data as IObjectOutputData; + this.initialObjectives = content[0].data as IObjectiveOutputData; this.objectiveSize = Object.keys(this.initialObjectives).length; } diff --git a/src/pages/appbuilder/AppBuilderPage.tsx b/src/pages/appbuilder/AppBuilderPage.tsx index 1abd2ec0..d33437f0 100644 --- a/src/pages/appbuilder/AppBuilderPage.tsx +++ b/src/pages/appbuilder/AppBuilderPage.tsx @@ -15,6 +15,7 @@ import useDefaultSessionDto from "hooks/shapediver/useDefaultSessionDto"; import LoaderPage from "pages/misc/LoaderPage"; import MarkdownWidgetComponent from "components/shapediver/ui/MarkdownWidgetComponent"; import AppBuilderTemplateSelector from "pages/templates/AppBuilderTemplateSelector"; +import { AppBuilderSettingsContext } from "context/AppBuilderContext"; const VIEWPORT_ID = "viewport_1"; @@ -113,7 +114,7 @@ You need to disable the *Require strong authorization* setting for your model. : error ? {error.message} : loading ? : - show ? - + : <> ); } diff --git a/src/types/shapediver/appbuilder.ts b/src/types/shapediver/appbuilder.ts index fdaeb12f..13a22887 100644 --- a/src/types/shapediver/appbuilder.ts +++ b/src/types/shapediver/appbuilder.ts @@ -34,7 +34,7 @@ export interface IAppBuilderExportRef { } /** Types of widgets */ -export type AppBuilderWidgetType = "accordion" | "text" | "image"; +export type AppBuilderWidgetType = "accordion" | "text" | "image" | "optimizer"; /** Common properties of widgets. */ export interface IAppBuilderWidgetPropsCommon { @@ -82,12 +82,18 @@ export interface IAppBuilderWidgetPropsImage extends IAppBuilderWidgetPropsCommo href?: string } +/** Properties of an optimizer widget. */ +export interface IAppBuilderWidgetPropsOptimizer extends IAppBuilderWidgetPropsCommon { + /** TODO add properties which can be defined from Grasshopper. */ + +} + /** A widget. */ export interface IAppBuilderWidget { /** Type of the widget. */ type: AppBuilderWidgetType /** Properties of the widget. */ - props: IAppBuilderWidgetPropsAccordion | IAppBuilderWidgetPropsText | IAppBuilderWidgetPropsImage + props: IAppBuilderWidgetPropsAccordion | IAppBuilderWidgetPropsText | IAppBuilderWidgetPropsImage | IAppBuilderWidgetPropsOptimizer } /** @@ -156,6 +162,11 @@ export function isImageWidget(widget: IAppBuilderWidget): widget is { type: "ima return widget.type === "image"; } +/** assert widget type "optimizer" */ +export function isOptimizerWidget(widget: IAppBuilderWidget): widget is { type: "optimizer", props: IAppBuilderWidgetPropsOptimizer } { + return widget.type === "optimizer"; +} + /** * Settings for a session used by the AppBuilder. */ diff --git a/src/types/shapediver/appbuildertypecheck.ts b/src/types/shapediver/appbuildertypecheck.ts index 6185cf37..31c2b4a4 100644 --- a/src/types/shapediver/appbuildertypecheck.ts +++ b/src/types/shapediver/appbuildertypecheck.ts @@ -72,11 +72,17 @@ const IAppBuilderWidgetPropsImageSchema = z.object({ target: z.string().default("_blank"), }).extend(IAppBuilderWidgetPropsCommonSchema.shape); +// Zod type definition for IAppBuilderWidgetPropsOptimizer +const IAppBuilderWidgetPropsOptimizerSchema = z.object({ + +}).extend(IAppBuilderWidgetPropsCommonSchema.shape); + // Zod type definition for IAppBuilderWidget const IAppBuilderWidgetSchema = z.discriminatedUnion("type", [ z.object({type: z.literal("accordion"), props: IAppBuilderWidgetPropsAccordionSchema}), z.object({type: z.literal("text"), props: IAppBuilderWidgetPropsTextSchema}), z.object({type: z.literal("image"), props: IAppBuilderWidgetPropsImageSchema}), + z.object({type: z.literal("optimizer"), props: IAppBuilderWidgetPropsOptimizerSchema}), ]); // Zod type definition for IAppBuilderTab From 3d327f0b2556186edea8c029c2abe44205f5afc7 Mon Sep 17 00:00:00 2001 From: Alexander Schiftner Date: Sat, 20 Apr 2024 19:30:46 +0200 Subject: [PATCH 07/25] optimization prototype works --- public/testoptimizer.json | 25 ++++++++ src/optimization/optimizer.ts | 115 ++++++++++++++++++++++++++-------- 2 files changed, 114 insertions(+), 26 deletions(-) create mode 100644 public/testoptimizer.json diff --git a/public/testoptimizer.json b/public/testoptimizer.json new file mode 100644 index 00000000..16766d64 --- /dev/null +++ b/public/testoptimizer.json @@ -0,0 +1,25 @@ +{ + "version": "1.0", + "sessions": [ + { + "id": "Test optimizer", + "ticket": "2b94da591fa259fc612403a43f2b49c5e0ca3011692130e68c2eb2c6dac6168bbe2296ccb0a3a743bfa3387f7e1ac2d138ac9f7cf6502a5fb599ba92ff16c5c6f56015d2ae8e732c7eb2fb2522a2d6217ec67d7a2b5d84519e3db4cef104b44cf8363e686b8212-925db841bfe1e38401560841c4220c52", + "modelViewUrl": "https://sdr8euc1.eu-central-1.shapediver.com" + } + ], + "appBuilderOverride": { + "version": "1.0", + "containers": [ + { + "name": "right", + "widgets": [ + { + "type": "optimizer", + "props": { + } + } + ] + } + ] + } +} \ No newline at end of file diff --git a/src/optimization/optimizer.ts b/src/optimization/optimizer.ts index 87ff72de..5c9509b1 100644 --- a/src/optimization/optimizer.ts +++ b/src/optimization/optimizer.ts @@ -1,7 +1,7 @@ import { ShapeDiverResponseDto, ShapeDiverResponseOutput, - ShapeDiverResponseOutputDefinition, + ShapeDiverResponseParameterType, ShapeDiverSdk, create } from "@shapediver/sdk.geometry-api-sdk-v2"; @@ -36,7 +36,7 @@ export interface IShapeDiverModelOptimizerCreateProps { * Properties for optimizing a ShapeDiver model */ export interface IShapeDiverModelOptimizerProps { - parameterIds: string[], + parameterIds?: string[], optimizerProps: Tprops, } @@ -67,7 +67,6 @@ export interface IObjectiveOutputData { [key: string]: number } */ export class ShapeDiverModelOptimizerNsga2 implements IShapeDiverModelOptimizer> { - objectiveOutput: ShapeDiverResponseOutputDefinition; initialObjectives: IObjectiveOutputData; objectiveSize: number; @@ -76,20 +75,27 @@ export class ShapeDiverModelOptimizerNsga2 implements IShapeDiverModelOptimizer< private modelDto: ShapeDiverResponseDto, private defaultParameterValues: DefaultParameterValueType ) { + this.initialObjectives = this.getObjectives(modelDto); + this.objectiveSize = Object.keys(this.initialObjectives).length; + } - const _objectiveOutput = Object.values(modelDto.outputs!).find(output => output.name === OBJECTIVE_OUTPUT_NAME); + getObjectives(response: ShapeDiverResponseDto): IObjectiveOutputData { + const _objectiveOutput = Object.values(response.outputs!).find(output => output.name === OBJECTIVE_OUTPUT_NAME); if (!_objectiveOutput) { throw new Error(`Output "${OBJECTIVE_OUTPUT_NAME}" not found in model`); } - this.objectiveOutput = _objectiveOutput; + + const objectiveOutput = _objectiveOutput as ShapeDiverResponseOutput; + if (objectiveOutput.status_computation !== "success" || objectiveOutput.status_collect !== "success") { + throw new Error(`Output "${OBJECTIVE_OUTPUT_NAME}" not successfully computed`); + } - const content = (_objectiveOutput as ShapeDiverResponseOutput).content; + const content = objectiveOutput.content; if (!content || content.length !== 1) { throw new Error(`Output "${OBJECTIVE_OUTPUT_NAME}" must have exactly one content item`); } - this.initialObjectives = content[0].data as IObjectiveOutputData; - this.objectiveSize = Object.keys(this.initialObjectives).length; + return content[0].data as IObjectiveOutputData; } /** @@ -108,39 +114,96 @@ export class ShapeDiverModelOptimizerNsga2 implements IShapeDiverModelOptimizer< } public async optimize(props: IShapeDiverModelOptimizerProps): Promise> { - const { parameterIds, optimizerProps: optimizerOptions } = props; - + const { parameterIds: _parameterIds, optimizerProps: optimizerOptions } = props; + + const parameterIds = _parameterIds ?? Object.keys(this.modelDto.parameters!); const chromosomeSize = parameterIds.length; + const genomeFunction = (index: number): string => { const parameterId = parameterIds[index]; const parameterDefinition = this.modelDto.parameters![parameterId]; - // TODO create random value for parameter + if (parameterDefinition.type === ShapeDiverResponseParameterType.BOOL) + { + return Math.random() < 0.5 ? "true" : "false"; + } + else if (parameterDefinition.type === ShapeDiverResponseParameterType.INT) + { + const min = parameterDefinition.min as number; + const max = parameterDefinition.max as number; + const range = max - min; + const value = Math.floor(Math.random() * (range + 1)) + min; + + return (value >= max ? max : value).toString(); + } + else if (parameterDefinition.type === ShapeDiverResponseParameterType.FLOAT) + { + const min = parameterDefinition.min as number; + const max = parameterDefinition.max as number; + const range = max - min; + + return (Math.random() * range + min).toFixed(parameterDefinition.decimalplaces).toString(); + } + else if (parameterDefinition.type === ShapeDiverResponseParameterType.ODD || parameterDefinition.type === ShapeDiverResponseParameterType.EVEN) + { + const min = parameterDefinition.min as number; + const max = parameterDefinition.max as number; + const range = Math.round((max - min) / 2); + const value = 2 * Math.floor(Math.random() * (range + 1)) + min; + + return (value >= max ? max : value).toString(); + } + else if (parameterDefinition.type === ShapeDiverResponseParameterType.STRINGLIST) + { + const choices = parameterDefinition.choices as string[]; + const index = Math.floor(Math.random() * choices.length); + + return choices[index >= choices.length ? choices.length - 1 : index]; + } + else { + throw new Error(`Unsupported parameter type: ${parameterDefinition.type}`); + } + }; + + const objectiveFunction = async (chromosome: string[]): Promise => { + // run ShapeDiver computation + console.debug("Running ShapeDiver computation with chromosome", chromosome); + + const body: { [key: string]: string } = { ...this.defaultParameterValues }; + chromosome.forEach((value, index) => { + const parameterId = parameterIds[index]; + body[parameterId] = value; + }); + + const result = await this.sdk.output.customize(this.modelDto.sessionId!, body); + const objectives = this.getObjectives(result); + + if (Object.keys(objectives).length !== this.objectiveSize) { + throw new Error(`Expected ${this.objectiveSize} objectives, but got ${Object.keys(objectives).length}`); + } + + for (const key in this.initialObjectives) { + if (!(key in objectives)) { + throw new Error(`Objective "${key}" not found in result`); + } + } - return parameterDefinition.defval; + const objectiveValues: number[] = []; + Object.keys(this.initialObjectives).sort().forEach(key => { + objectiveValues.push(objectives[key]); + }); + + return objectiveValues; }; const nsga2 = new NSGA2({ chromosomeSize, genomeFunction, objectiveSize: this.objectiveSize, - objectiveFunction: this.objectiveFunction.bind(this), + objectiveFunction, ...optimizerOptions}); return await nsga2.optimize(true); } - /** - * Evaluate the objectives for a given chromosome - * @param chromosome - * @returns - */ - async objectiveFunction(chromosome: string[]): Promise { - // TODO run ShapeDiver computation - console.debug("Running ShapeDiver computation with chromosome", chromosome); - - return new Array(this.objectiveSize).fill(0); - } - - } From 3940e8e5ee9313699099cdbd0b5d3bd9c9a91fcd Mon Sep 17 00:00:00 2001 From: mathieu Date: Sat, 20 Apr 2024 20:03:03 +0200 Subject: [PATCH 08/25] dummy optimizer --- .../AppBuilderOptimizerWidgetComponent.tsx | 21 ++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/src/components/shapediver/appbuilder/AppBuilderOptimizerWidgetComponent.tsx b/src/components/shapediver/appbuilder/AppBuilderOptimizerWidgetComponent.tsx index 5f981fdf..1bf41ae1 100644 --- a/src/components/shapediver/appbuilder/AppBuilderOptimizerWidgetComponent.tsx +++ b/src/components/shapediver/appbuilder/AppBuilderOptimizerWidgetComponent.tsx @@ -1,5 +1,6 @@ import { ShapeDiverResponseParameter } from "@shapediver/sdk.geometry-api-sdk-v2"; import { AppBuilderSettingsContext } from "context/AppBuilderContext"; +import { Paper, Title, List, Button} from "@mantine/core"; import { useSessionPropsParameter } from "hooks/shapediver/parameters/useSessionPropsParameter"; import { useSortedParametersAndExports } from "hooks/shapediver/parameters/useSortedParametersAndExports"; import { useOutputContent } from "hooks/shapediver/viewer/useOutputContent"; @@ -8,6 +9,8 @@ import AlertPage from "pages/misc/AlertPage"; import React, { useContext } from "react"; import { IAppBuilderWidgetPropsOptimizer } from "types/shapediver/appbuilder"; +import ParameterSliderComponent from "components/shapediver/parameter/ParameterSliderComponent"; + interface Props extends IAppBuilderWidgetPropsOptimizer { /** @@ -53,6 +56,22 @@ export default function AppBuilderOptimizerWidgetComponent(props: Props) { }; - return <>; + return <> + + + "Goals to optimize + + + {Object.entries(objectives).map(([key, value], index) => ( + + {key}: {value} + + ))} + + + + + + ; } From 2fc96840ef7090352e5c9baa4748c56b8108eaa1 Mon Sep 17 00:00:00 2001 From: Alexander Schiftner Date: Sat, 20 Apr 2024 20:38:28 +0200 Subject: [PATCH 09/25] clean up result of optimization --- src/optimization/nsga2.ts | 27 +++++++++++++++++++++++---- src/optimization/optimizer.ts | 17 ++++++++++++++++- 2 files changed, 39 insertions(+), 5 deletions(-) diff --git a/src/optimization/nsga2.ts b/src/optimization/nsga2.ts index 0d01eafc..80b29c9c 100644 --- a/src/optimization/nsga2.ts +++ b/src/optimization/nsga2.ts @@ -31,7 +31,7 @@ export interface INSGA2Result { /** * The individuals on the pareto front. */ - individuals: Individual[] + individuals: IIndividual[] } @@ -134,10 +134,10 @@ export class NSGA2 } } - return { individuals: fpop }; + return { individuals: fpop.map(i => i.getData()) }; } - return { individuals: pop }; + return { individuals: pop.map(i => i.getData()) }; } @@ -387,10 +387,18 @@ export class NSGA2 } } +export interface IIndividual { + chromosome: Tchromosome[]; + objectives: number[]; + paretoRank: number; + dominatedCount: number; + crowdingDistance: number; +} + /** * An individual in the population. */ -export class Individual +export class Individual implements IIndividual { chromosome: Tchromosome[]; objectives: number[] = []; @@ -407,6 +415,17 @@ export class Individual this.chromosome = new Array(chromosomeSize); } + getData(): IIndividual { + + return { + chromosome: this.chromosome, + objectives: this.objectives, + paretoRank: this.paretoRank, + dominatedCount: this.dominatedCount, + crowdingDistance: this.crowdingDistance + }; + } + /** * Calculate the objectives of the individual using the given objective function. * @param objectiveFunction diff --git a/src/optimization/optimizer.ts b/src/optimization/optimizer.ts index 5c9509b1..c6d31033 100644 --- a/src/optimization/optimizer.ts +++ b/src/optimization/optimizer.ts @@ -202,7 +202,22 @@ export class ShapeDiverModelOptimizerNsga2 implements IShapeDiverModelOptimizer< objectiveFunction, ...optimizerOptions}); - return await nsga2.optimize(true); + const { individuals } = await nsga2.optimize(true); + const result = { + individuals: individuals.map(individual => { + const parameterValues = { ...this.defaultParameterValues}; + individual.chromosome.forEach((value, index) => { + parameterValues[parameterIds[index]] = value; + }); + + return { + parameterValues, + ...individual + }; + }) + }; + + return result; } From a9a5dc173c971a6608f81a738175cf06131d0a44 Mon Sep 17 00:00:00 2001 From: Alexander Schiftner Date: Sat, 20 Apr 2024 20:50:51 +0200 Subject: [PATCH 10/25] clean up result of optimization (type fixes) --- src/optimization/optimizer.ts | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/src/optimization/optimizer.ts b/src/optimization/optimizer.ts index c6d31033..4826c506 100644 --- a/src/optimization/optimizer.ts +++ b/src/optimization/optimizer.ts @@ -11,7 +11,7 @@ import { INSGA2Props, INSGA2Result, NSGA2 } from "./nsga2"; /** * Type for default parameter values (parameters not to be optimized) */ -type DefaultParameterValueType = { [key: string]: string }; +type ParameterValuesType = { [key: string]: string }; /** * Type used for Chromosomes @@ -29,7 +29,7 @@ export interface IShapeDiverModelOptimizerCreateProps { /** * Default values for the parameters which should not be optimized */ - defaultParameterValues: DefaultParameterValueType, + defaultParameterValues: ParameterValuesType, } /** @@ -52,6 +52,13 @@ export interface IShapeDiverModelOptimizer { optimize: (options: IShapeDiverModelOptimizerProps) => Promise; } +export interface INSGA2ResultExt extends INSGA2Result { + /** + * Parameter values corresponding to the individuals + */ + parameterValues: ParameterValuesType[]; +} + /** * Name of the data output which defines the objectives */ @@ -65,7 +72,7 @@ export interface IObjectiveOutputData { [key: string]: number } /** * ShapeDiver model optimizer using NSGA2 */ -export class ShapeDiverModelOptimizerNsga2 implements IShapeDiverModelOptimizer> { +export class ShapeDiverModelOptimizerNsga2 implements IShapeDiverModelOptimizer> { initialObjectives: IObjectiveOutputData; objectiveSize: number; @@ -73,7 +80,7 @@ export class ShapeDiverModelOptimizerNsga2 implements IShapeDiverModelOptimizer< constructor( private sdk: ShapeDiverSdk, private modelDto: ShapeDiverResponseDto, - private defaultParameterValues: DefaultParameterValueType + private defaultParameterValues: ParameterValuesType ) { this.initialObjectives = this.getObjectives(modelDto); this.objectiveSize = Object.keys(this.initialObjectives).length; @@ -103,7 +110,7 @@ export class ShapeDiverModelOptimizerNsga2 implements IShapeDiverModelOptimizer< * @param props * @returns */ - public static async create(props: IShapeDiverModelOptimizerCreateProps): Promise>> { + public static async create(props: IShapeDiverModelOptimizerCreateProps): Promise>> { const { sessionDto, defaultParameterValues } = props; @@ -113,7 +120,7 @@ export class ShapeDiverModelOptimizerNsga2 implements IShapeDiverModelOptimizer< return new ShapeDiverModelOptimizerNsga2(sdk, modelDto, defaultParameterValues); } - public async optimize(props: IShapeDiverModelOptimizerProps): Promise> { + public async optimize(props: IShapeDiverModelOptimizerProps): Promise> { const { parameterIds: _parameterIds, optimizerProps: optimizerOptions } = props; const parameterIds = _parameterIds ?? Object.keys(this.modelDto.parameters!); @@ -204,16 +211,14 @@ export class ShapeDiverModelOptimizerNsga2 implements IShapeDiverModelOptimizer< const { individuals } = await nsga2.optimize(true); const result = { - individuals: individuals.map(individual => { + individuals, + parameterValues: individuals.map(individual => { const parameterValues = { ...this.defaultParameterValues}; individual.chromosome.forEach((value, index) => { parameterValues[parameterIds[index]] = value; }); - return { - parameterValues, - ...individual - }; + return parameterValues; }) }; From d8c57b39c673d03b3de8244faf7ada35a8778998 Mon Sep 17 00:00:00 2001 From: Alexander Schiftner Date: Sat, 20 Apr 2024 21:30:34 +0200 Subject: [PATCH 11/25] set parameter values after optimization --- .../AppBuilderOptimizerWidgetComponent.tsx | 53 +++++++++++++------ .../parameters/useParametersStateless.ts | 21 ++++++++ src/optimization/optimizer.ts | 2 +- 3 files changed, 59 insertions(+), 17 deletions(-) create mode 100644 src/hooks/shapediver/parameters/useParametersStateless.ts diff --git a/src/components/shapediver/appbuilder/AppBuilderOptimizerWidgetComponent.tsx b/src/components/shapediver/appbuilder/AppBuilderOptimizerWidgetComponent.tsx index 1bf41ae1..effefdf5 100644 --- a/src/components/shapediver/appbuilder/AppBuilderOptimizerWidgetComponent.tsx +++ b/src/components/shapediver/appbuilder/AppBuilderOptimizerWidgetComponent.tsx @@ -4,13 +4,12 @@ import { Paper, Title, List, Button} from "@mantine/core"; import { useSessionPropsParameter } from "hooks/shapediver/parameters/useSessionPropsParameter"; import { useSortedParametersAndExports } from "hooks/shapediver/parameters/useSortedParametersAndExports"; import { useOutputContent } from "hooks/shapediver/viewer/useOutputContent"; -import { IObjectiveOutputData, OBJECTIVE_OUTPUT_NAME, ShapeDiverModelOptimizerNsga2 } from "optimization/optimizer"; +import { IObjectiveOutputData, OBJECTIVE_OUTPUT_NAME, ParameterValuesType, ShapeDiverModelOptimizerNsga2 } from "optimization/optimizer"; import AlertPage from "pages/misc/AlertPage"; -import React, { useContext } from "react"; +import React, { useContext, useEffect, useState } from "react"; import { IAppBuilderWidgetPropsOptimizer } from "types/shapediver/appbuilder"; - -import ParameterSliderComponent from "components/shapediver/parameter/ParameterSliderComponent"; - +import { useParametersStateless } from "hooks/shapediver/parameters/useParametersStateless"; +import { useParameterChanges } from "hooks/shapediver/parameters/useParameterChanges"; interface Props extends IAppBuilderWidgetPropsOptimizer { /** @@ -33,33 +32,54 @@ export default function AppBuilderOptimizerWidgetComponent(props: Props) { const objectives = outputContent?.[0]?.data as IObjectiveOutputData | undefined; if (!objectives) return An output named {OBJECTIVE_OUTPUT_NAME} could not be found or provides no data.; + const [solution, setSolution] = useState({}); - // get the parameters of the model + // get parameter stores + const parameters = useParametersStateless(sessionId); + const customize = (values: ParameterValuesType) => { + Object.keys(values).forEach(id => { + const actions = parameters[id].actions; + if (actions.setUiValue(values[id])) { + actions.execute(false); + } + }); + setSolution(values); + }; + + // get parameter changes const parameterProps = useSessionPropsParameter(sessionId); - const sortedParamsAndExports = useSortedParametersAndExports(parameterProps); - + const parameterChanges = useParameterChanges(parameterProps); + useEffect(() => { + parameterChanges.forEach(c => c.accept()); + }, [solution]); + // get default values for the parameters - const defaultValues: { [key: string]: string } = {}; - sortedParamsAndExports.forEach(p => { - defaultValues[p.definition.id] = (p.definition as ShapeDiverResponseParameter).defval; + const defaultValues: ParameterValuesType = {}; + Object.keys(parameters).forEach(id => { + defaultValues[id] = parameters[id].definition.defval; }); + const [result, setResult] = useState(); + const runOptimizer = async () => { const optimizer = await ShapeDiverModelOptimizerNsga2.create({sessionDto, defaultParameterValues: defaultValues}); - optimizer.optimize({ - parameterIds: [], + const result = await optimizer.optimize({ + parameterIds: undefined, optimizerProps: { - populationSize: 10, - maxGenerations: 10, + populationSize: 3, + maxGenerations: 3, } }); + console.debug("result", result); + setResult(JSON.stringify(result, null, 2)); + customize(result.parameterValues[0]); }; return <> - "Goals to optimize + Goals to optimize {Object.entries(objectives).map(([key, value], index) => ( @@ -71,6 +91,7 @@ export default function AppBuilderOptimizerWidgetComponent(props: Props) { + {result} ; diff --git a/src/hooks/shapediver/parameters/useParametersStateless.ts b/src/hooks/shapediver/parameters/useParametersStateless.ts new file mode 100644 index 00000000..401f3fca --- /dev/null +++ b/src/hooks/shapediver/parameters/useParametersStateless.ts @@ -0,0 +1,21 @@ +import { useShapeDiverStoreParameters } from "store/useShapeDiverStoreParameters"; +import { IShapeDiverParameter } from "types/shapediver/parameter"; + +/** + * Hook providing a shortcut to all abstracted parameters of a session managed by {@link useShapeDiverStoreParameters}. + * + * @see {@link IShapeDiverParameter} + * + * @param sessionId + * @param parameterId Id, name, or displayname of the parameter + * @returns + */ +export function useParametersStateless(sessionId: string) { + + const parametersStore = useShapeDiverStoreParameters(); + const paramStores = parametersStore.getParameters(sessionId); + const parameters: { [key: string]: IShapeDiverParameter } = {}; + Object.keys(paramStores).forEach((id) => parameters[id] = paramStores[id].getState()); + + return parameters; +} diff --git a/src/optimization/optimizer.ts b/src/optimization/optimizer.ts index 4826c506..82e25ea8 100644 --- a/src/optimization/optimizer.ts +++ b/src/optimization/optimizer.ts @@ -11,7 +11,7 @@ import { INSGA2Props, INSGA2Result, NSGA2 } from "./nsga2"; /** * Type for default parameter values (parameters not to be optimized) */ -type ParameterValuesType = { [key: string]: string }; +export type ParameterValuesType = { [key: string]: string }; /** * Type used for Chromosomes From 7fbf1675dacda56425799f7727d51001ee2acc65 Mon Sep 17 00:00:00 2001 From: mathieu Date: Sat, 20 Apr 2024 21:33:45 +0200 Subject: [PATCH 12/25] modifications --- .../AppBuilderOptimizerWidgetComponent.tsx | 96 +++++++++++++++---- 1 file changed, 77 insertions(+), 19 deletions(-) diff --git a/src/components/shapediver/appbuilder/AppBuilderOptimizerWidgetComponent.tsx b/src/components/shapediver/appbuilder/AppBuilderOptimizerWidgetComponent.tsx index 1bf41ae1..bdf4d30c 100644 --- a/src/components/shapediver/appbuilder/AppBuilderOptimizerWidgetComponent.tsx +++ b/src/components/shapediver/appbuilder/AppBuilderOptimizerWidgetComponent.tsx @@ -1,16 +1,14 @@ import { ShapeDiverResponseParameter } from "@shapediver/sdk.geometry-api-sdk-v2"; import { AppBuilderSettingsContext } from "context/AppBuilderContext"; -import { Paper, Title, List, Button} from "@mantine/core"; +import { Paper, Title, Checkbox, Button, Switch, Slider, Text} from "@mantine/core"; import { useSessionPropsParameter } from "hooks/shapediver/parameters/useSessionPropsParameter"; import { useSortedParametersAndExports } from "hooks/shapediver/parameters/useSortedParametersAndExports"; import { useOutputContent } from "hooks/shapediver/viewer/useOutputContent"; import { IObjectiveOutputData, OBJECTIVE_OUTPUT_NAME, ShapeDiverModelOptimizerNsga2 } from "optimization/optimizer"; import AlertPage from "pages/misc/AlertPage"; -import React, { useContext } from "react"; +import React, { useContext, useState } from "react"; import { IAppBuilderWidgetPropsOptimizer } from "types/shapediver/appbuilder"; -import ParameterSliderComponent from "components/shapediver/parameter/ParameterSliderComponent"; - interface Props extends IAppBuilderWidgetPropsOptimizer { /** @@ -44,34 +42,94 @@ export default function AppBuilderOptimizerWidgetComponent(props: Props) { defaultValues[p.definition.id] = (p.definition as ShapeDiverResponseParameter).defval; }); - const runOptimizer = async () => { + const [populationSize, setPopulationSize] = useState(10); + const [maxGenerations, setMaxGenerations] = useState(10); + const [checkboxValues, setCheckboxValues] = useState([true, true]); + + const runOptimizer = async (values) => { const optimizer = await ShapeDiverModelOptimizerNsga2.create({sessionDto, defaultParameterValues: defaultValues}); - optimizer.optimize({ - parameterIds: [], + console.log("Running optimizer with values:", values); + const result = await optimizer.optimize({ + parameterIds: undefined, optimizerProps: { - populationSize: 10, - maxGenerations: 10, + populationSize: populationSize, + maxGenerations: maxGenerations, } }); + }; + const [isVisible, setIsVisible] = useState(false); + + const handleToggle = (event) => { + setIsVisible(event.currentTarget.checked); + }; + + const handleCheckboxChange = (index) => { + const newValues = [...checkboxValues]; + newValues[index] = !newValues[index]; + setCheckboxValues(newValues); + }; return <> - + - "Goals to optimize + Goals to optimize - - {Object.entries(objectives).map(([key, value], index) => ( - - {key}: {value} - - ))} - - + {Object.entries(objectives).map(([key, value], index) => ( + + handleCheckboxChange(index)} + /> + + ))} + + + + + + {isVisible && ( + + Optimization options + Population size + + + Maximum number of generations + + + + )} ; } From 8c609127736588e0763cf842251f72470c43e500 Mon Sep 17 00:00:00 2001 From: mathieu Date: Sat, 20 Apr 2024 21:45:31 +0200 Subject: [PATCH 13/25] optim results computed --- .../appbuilder/AppBuilderOptimizerWidgetComponent.tsx | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/components/shapediver/appbuilder/AppBuilderOptimizerWidgetComponent.tsx b/src/components/shapediver/appbuilder/AppBuilderOptimizerWidgetComponent.tsx index 0feb6da9..2ffd4870 100644 --- a/src/components/shapediver/appbuilder/AppBuilderOptimizerWidgetComponent.tsx +++ b/src/components/shapediver/appbuilder/AppBuilderOptimizerWidgetComponent.tsx @@ -112,8 +112,6 @@ export default function AppBuilderOptimizerWidgetComponent(props: Props) { checked={isVisible} onChange={handleToggle} /> - - {result} {isVisible && ( From 23a5db538337946b436953516fbff3b8b4a277b4 Mon Sep 17 00:00:00 2001 From: Alexander Schiftner Date: Sat, 20 Apr 2024 22:22:08 +0200 Subject: [PATCH 14/25] progress callback --- .../AppBuilderOptimizerWidgetComponent.tsx | 18 +++++++---- src/optimization/nsga2.ts | 31 +++++++++++++++++-- 2 files changed, 41 insertions(+), 8 deletions(-) diff --git a/src/components/shapediver/appbuilder/AppBuilderOptimizerWidgetComponent.tsx b/src/components/shapediver/appbuilder/AppBuilderOptimizerWidgetComponent.tsx index 2ffd4870..19314aa6 100644 --- a/src/components/shapediver/appbuilder/AppBuilderOptimizerWidgetComponent.tsx +++ b/src/components/shapediver/appbuilder/AppBuilderOptimizerWidgetComponent.tsx @@ -64,14 +64,20 @@ export default function AppBuilderOptimizerWidgetComponent(props: Props) { const [checkboxValues, setCheckboxValues] = useState([true, true]); const runOptimizer = async (values) => { - const optimizer = await ShapeDiverModelOptimizerNsga2.create({sessionDto, defaultParameterValues: defaultValues}); + const optimizer = await ShapeDiverModelOptimizerNsga2.create({ + sessionDto, + defaultParameterValues: defaultValues, + }); console.log("Running optimizer with values:", values); const result = await optimizer.optimize({ parameterIds: undefined, optimizerProps: { populationSize: populationSize, maxGenerations: maxGenerations, - } + mutationRate: 0.5, + crossoverRate: 0.5, + progressCallback: (progress) => console.log("Progress:", progress), + }, }); customize(result.parameterValues[0]); @@ -126,8 +132,8 @@ export default function AppBuilderOptimizerWidgetComponent(props: Props) { onChange={setPopulationSize} showLabelOnHover={false} marks={[ - { value: 1, label: '1' }, - { value: 100, label: '100' } + { value: 1, label: "1" }, + { value: 100, label: "100" } ]} /> @@ -140,8 +146,8 @@ export default function AppBuilderOptimizerWidgetComponent(props: Props) { onChange={setMaxGenerations} showLabelOnHover={false} marks={[ - { value: 1, label: '1' }, - { value: 100, label: '100' } + { value: 1, label: "1" }, + { value: 100, label: "100" } ]} /> diff --git a/src/optimization/nsga2.ts b/src/optimization/nsga2.ts index 80b29c9c..a22cfb9a 100644 --- a/src/optimization/nsga2.ts +++ b/src/optimization/nsga2.ts @@ -10,6 +10,11 @@ type ObjectiveFunctionType = (chromosome: Tchromosome[]) => Promise */ type GenomeFunctionType = (index: number) => Tchromosome; +/** + * Type of the progress callback. + */ +export type ProgressCallbackType = (progress: number) => void; + /** * User-facing properties of the NSGA-II optimization algorithm. */ @@ -22,6 +27,20 @@ export interface INSGA2Props { * Maximum number of generations to compute. */ maxGenerations: number, + /** + * Mutation rate, number between 0 and 1. + */ + mutationRate: number, + /** + * Crossover rate, number between 0 and 1. + */ + crossoverRate: number, + /** + * Optional callback for being notified about the progress of the optimization. + * @param generation + * @returns + */ + progressCallback?: ProgressCallbackType } /** @@ -63,16 +82,20 @@ export class NSGA2 objectiveSize: number; populationSize: number; maxGenerations: number; - mutationRate: number = 0; - crossoverRate: number = 0; + progressCallback?: ProgressCallbackType; + mutationRate: number; + crossoverRate: number; objectiveFunction: ObjectiveFunctionType; genomeFunction: GenomeFunctionType; constructor( { + progressCallback, chromosomeSize, objectiveSize, populationSize, maxGenerations, + mutationRate, + crossoverRate, objectiveFunction, genomeFunction }: INSGA2InternalProps ) { @@ -80,8 +103,11 @@ export class NSGA2 this.objectiveSize = objectiveSize; this.populationSize = populationSize; this.maxGenerations = maxGenerations; + this.progressCallback = progressCallback; this.genomeFunction = genomeFunction; this.objectiveFunction = objectiveFunction; + this.crossoverRate = crossoverRate; + this.mutationRate = mutationRate; } /** @@ -99,6 +125,7 @@ export class NSGA2 // Main loop let generationCount: number = 1; while (generationCount < this.maxGenerations) { + this.progressCallback?.(generationCount / this.maxGenerations); // create offsprings const offsprings = await this.generateOffsprings(pop); // extend the population with the offsprings From e5ab7a7a11ed04347b62804a322d17fdeb390fa8 Mon Sep 17 00:00:00 2001 From: mathieu Date: Sat, 20 Apr 2024 22:29:39 +0200 Subject: [PATCH 15/25] updates --- .../AppBuilderOptimizerWidgetComponent.tsx | 29 +++++++++++++++---- 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/src/components/shapediver/appbuilder/AppBuilderOptimizerWidgetComponent.tsx b/src/components/shapediver/appbuilder/AppBuilderOptimizerWidgetComponent.tsx index 2ffd4870..597b87cb 100644 --- a/src/components/shapediver/appbuilder/AppBuilderOptimizerWidgetComponent.tsx +++ b/src/components/shapediver/appbuilder/AppBuilderOptimizerWidgetComponent.tsx @@ -62,6 +62,7 @@ export default function AppBuilderOptimizerWidgetComponent(props: Props) { const [populationSize, setPopulationSize] = useState(10); const [maxGenerations, setMaxGenerations] = useState(10); const [checkboxValues, setCheckboxValues] = useState([true, true]); + const [isRunning, setIsRunning] = useState(false); const runOptimizer = async (values) => { const optimizer = await ShapeDiverModelOptimizerNsga2.create({sessionDto, defaultParameterValues: defaultValues}); @@ -73,6 +74,7 @@ export default function AppBuilderOptimizerWidgetComponent(props: Props) { maxGenerations: maxGenerations, } }); + setIsRunning(false); customize(result.parameterValues[0]); }; @@ -89,6 +91,15 @@ export default function AppBuilderOptimizerWidgetComponent(props: Props) { setCheckboxValues(newValues); }; + const handleStartClick = () => { + setIsRunning(true); + runOptimizer(checkboxValues); + }; + + const handleEndClick = () => { + // stop optimizer + }; + return <> @@ -105,15 +116,21 @@ export default function AppBuilderOptimizerWidgetComponent(props: Props) { ))} - + - + + {isVisible && ( Optimization options From 8556783e962ec7ef8bf03d1dd7664d5be7b9c13e Mon Sep 17 00:00:00 2001 From: Alexander Schiftner Date: Sat, 20 Apr 2024 22:51:10 +0200 Subject: [PATCH 16/25] cancellation support --- src/optimization/nsga2.ts | 18 +++++++++++++----- src/optimization/optimizer.ts | 20 ++++++++++++++++---- 2 files changed, 29 insertions(+), 9 deletions(-) diff --git a/src/optimization/nsga2.ts b/src/optimization/nsga2.ts index a22cfb9a..486a24f3 100644 --- a/src/optimization/nsga2.ts +++ b/src/optimization/nsga2.ts @@ -82,14 +82,14 @@ export class NSGA2 objectiveSize: number; populationSize: number; maxGenerations: number; - progressCallback?: ProgressCallbackType; mutationRate: number; crossoverRate: number; objectiveFunction: ObjectiveFunctionType; genomeFunction: GenomeFunctionType; - + progressCallback?: ProgressCallbackType; + cancellationRequested: boolean = false; + constructor( { - progressCallback, chromosomeSize, objectiveSize, populationSize, @@ -97,8 +97,9 @@ export class NSGA2 mutationRate, crossoverRate, objectiveFunction, - genomeFunction }: INSGA2InternalProps - ) { + genomeFunction, + progressCallback, + }: INSGA2InternalProps ) { this.chromosomeSize = chromosomeSize; this.objectiveSize = objectiveSize; this.populationSize = populationSize; @@ -125,6 +126,7 @@ export class NSGA2 // Main loop let generationCount: number = 1; while (generationCount < this.maxGenerations) { + if (this.cancellationRequested) break; this.progressCallback?.(generationCount / this.maxGenerations); // create offsprings const offsprings = await this.generateOffsprings(pop); @@ -167,6 +169,12 @@ export class NSGA2 return { individuals: pop.map(i => i.getData()) }; } + /** + * Request cancellation of the optimization. + */ + async requestCancellation() { + this.cancellationRequested = true; + } /** * Create initial randome population. diff --git a/src/optimization/optimizer.ts b/src/optimization/optimizer.ts index 82e25ea8..5e88e174 100644 --- a/src/optimization/optimizer.ts +++ b/src/optimization/optimizer.ts @@ -50,6 +50,10 @@ export interface IShapeDiverModelOptimizer { * @returns */ optimize: (options: IShapeDiverModelOptimizerProps) => Promise; + /** + * Request the cancellation of the optimization + */ + requestCancellation: () => void; } export interface INSGA2ResultExt extends INSGA2Result { @@ -80,12 +84,19 @@ export class ShapeDiverModelOptimizerNsga2 implements IShapeDiverModelOptimizer< constructor( private sdk: ShapeDiverSdk, private modelDto: ShapeDiverResponseDto, - private defaultParameterValues: ParameterValuesType + private defaultParameterValues: ParameterValuesType, + private nsga2?: NSGA2 ) { this.initialObjectives = this.getObjectives(modelDto); this.objectiveSize = Object.keys(this.initialObjectives).length; } - + + requestCancellation() { + if (this.nsga2) { + this.nsga2.requestCancellation(); + } + } + getObjectives(response: ShapeDiverResponseDto): IObjectiveOutputData { const _objectiveOutput = Object.values(response.outputs!).find(output => output.name === OBJECTIVE_OUTPUT_NAME); if (!_objectiveOutput) { @@ -202,14 +213,15 @@ export class ShapeDiverModelOptimizerNsga2 implements IShapeDiverModelOptimizer< return objectiveValues; }; - const nsga2 = new NSGA2({ + this.nsga2 = new NSGA2({ chromosomeSize, genomeFunction, objectiveSize: this.objectiveSize, objectiveFunction, ...optimizerOptions}); - const { individuals } = await nsga2.optimize(true); + const { individuals } = await this.nsga2.optimize(true); + this.nsga2 = undefined; const result = { individuals, parameterValues: individuals.map(individual => { From 33f3a66d7c11c3876def06c72df2dc69c05137cb Mon Sep 17 00:00:00 2001 From: Alexander Schiftner Date: Sat, 20 Apr 2024 22:51:22 +0200 Subject: [PATCH 17/25] version update --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 90ed51ab..1245eabf 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "shapediver-appbuilder", - "version": "0.3.0-beta.4", + "version": "0.3.0-optimizer", "private": true, "type": "module", "homepage": "./", From 6b7b2ad34959aa1c27509a8de421c105de3ef9e3 Mon Sep 17 00:00:00 2001 From: mathieu Date: Sat, 20 Apr 2024 23:00:31 +0200 Subject: [PATCH 18/25] progress --- .../AppBuilderOptimizerWidgetComponent.tsx | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/components/shapediver/appbuilder/AppBuilderOptimizerWidgetComponent.tsx b/src/components/shapediver/appbuilder/AppBuilderOptimizerWidgetComponent.tsx index 99b5aac7..e66b2661 100644 --- a/src/components/shapediver/appbuilder/AppBuilderOptimizerWidgetComponent.tsx +++ b/src/components/shapediver/appbuilder/AppBuilderOptimizerWidgetComponent.tsx @@ -1,6 +1,6 @@ import { ShapeDiverResponseParameter } from "@shapediver/sdk.geometry-api-sdk-v2"; import { AppBuilderSettingsContext } from "context/AppBuilderContext"; -import { Paper, Title, Checkbox, Button, Switch, Slider, Text} from "@mantine/core"; +import { Paper, Title, Checkbox, Button, Switch, Slider, Text, Progress} from "@mantine/core"; import { useSessionPropsParameter } from "hooks/shapediver/parameters/useSessionPropsParameter"; import { useSortedParametersAndExports } from "hooks/shapediver/parameters/useSortedParametersAndExports"; import { useOutputContent } from "hooks/shapediver/viewer/useOutputContent"; @@ -63,6 +63,7 @@ export default function AppBuilderOptimizerWidgetComponent(props: Props) { const [maxGenerations, setMaxGenerations] = useState(10); const [checkboxValues, setCheckboxValues] = useState([true, true]); const [isRunning, setIsRunning] = useState(false); + const [progress, setProgress] = useState(0); const runOptimizer = async (values) => { const optimizer = await ShapeDiverModelOptimizerNsga2.create({ @@ -77,11 +78,11 @@ export default function AppBuilderOptimizerWidgetComponent(props: Props) { maxGenerations: maxGenerations, mutationRate: 0.5, crossoverRate: 0.5, - progressCallback: (progress) => console.log("Progress:", progress), + progressCallback: (progress) => setProgress(progress*100), }, }); setIsRunning(false); - + result.individuals[0]. customize(result.parameterValues[0]); }; @@ -118,6 +119,7 @@ export default function AppBuilderOptimizerWidgetComponent(props: Props) { defaultChecked label={key} onChange={() => handleCheckboxChange(index)} + style={{ marginTop: 20 }} /> ))} @@ -125,10 +127,15 @@ export default function AppBuilderOptimizerWidgetComponent(props: Props) { + {isRunning && ( + + )} + Maximum number of generations @@ -166,6 +174,7 @@ export default function AppBuilderOptimizerWidgetComponent(props: Props) { { value: 1, label: "1" }, { value: 100, label: "100" } ]} + style={{ marginTop: 20, marginBottom: 20 }} /> From e0d92fa3116bcb22974eb7e54e4b0ffec8490c04 Mon Sep 17 00:00:00 2001 From: Alexander Schiftner Date: Sat, 20 Apr 2024 23:13:21 +0200 Subject: [PATCH 19/25] cancel --- .../AppBuilderOptimizerWidgetComponent.tsx | 34 +++++++++++++------ 1 file changed, 23 insertions(+), 11 deletions(-) diff --git a/src/components/shapediver/appbuilder/AppBuilderOptimizerWidgetComponent.tsx b/src/components/shapediver/appbuilder/AppBuilderOptimizerWidgetComponent.tsx index 99b5aac7..61068236 100644 --- a/src/components/shapediver/appbuilder/AppBuilderOptimizerWidgetComponent.tsx +++ b/src/components/shapediver/appbuilder/AppBuilderOptimizerWidgetComponent.tsx @@ -1,15 +1,15 @@ -import { ShapeDiverResponseParameter } from "@shapediver/sdk.geometry-api-sdk-v2"; import { AppBuilderSettingsContext } from "context/AppBuilderContext"; import { Paper, Title, Checkbox, Button, Switch, Slider, Text} from "@mantine/core"; import { useSessionPropsParameter } from "hooks/shapediver/parameters/useSessionPropsParameter"; -import { useSortedParametersAndExports } from "hooks/shapediver/parameters/useSortedParametersAndExports"; import { useOutputContent } from "hooks/shapediver/viewer/useOutputContent"; -import { IObjectiveOutputData, OBJECTIVE_OUTPUT_NAME, ParameterValuesType, ShapeDiverModelOptimizerNsga2 } from "optimization/optimizer"; +import { INSGA2ResultExt, IObjectiveOutputData, IShapeDiverModelOptimizer, OBJECTIVE_OUTPUT_NAME, ParameterValuesType, ShapeDiverModelOptimizerNsga2 } from "optimization/optimizer"; import AlertPage from "pages/misc/AlertPage"; import React, { useContext, useEffect, useState } from "react"; import { IAppBuilderWidgetPropsOptimizer } from "types/shapediver/appbuilder"; import { useParametersStateless } from "hooks/shapediver/parameters/useParametersStateless"; import { useParameterChanges } from "hooks/shapediver/parameters/useParameterChanges"; +import { ShapeDiverResponseParameterType } from "@shapediver/sdk.geometry-api-sdk-v2"; +import { INSGA2Props } from "optimization/nsga2"; interface Props extends IAppBuilderWidgetPropsOptimizer { /** @@ -59,19 +59,30 @@ export default function AppBuilderOptimizerWidgetComponent(props: Props) { defaultValues[id] = parameters[id].definition.defval; }); + // define parameters to be optimized + const parameterIds = Object.keys(parameters).filter(id => + parameters[id].definition.type === ShapeDiverResponseParameterType.FLOAT || + parameters[id].definition.type === ShapeDiverResponseParameterType.INT || + parameters[id].definition.type === ShapeDiverResponseParameterType.BOOL || + parameters[id].definition.type === ShapeDiverResponseParameterType.ODD || + parameters[id].definition.type === ShapeDiverResponseParameterType.EVEN + ); + const [populationSize, setPopulationSize] = useState(10); const [maxGenerations, setMaxGenerations] = useState(10); const [checkboxValues, setCheckboxValues] = useState([true, true]); const [isRunning, setIsRunning] = useState(false); + const [optimizer, setOptimizer] = useState>|undefined>(undefined); const runOptimizer = async (values) => { const optimizer = await ShapeDiverModelOptimizerNsga2.create({ sessionDto, defaultParameterValues: defaultValues, }); + setOptimizer(optimizer); console.log("Running optimizer with values:", values); const result = await optimizer.optimize({ - parameterIds: undefined, + parameterIds, optimizerProps: { populationSize: populationSize, maxGenerations: maxGenerations, @@ -89,7 +100,7 @@ export default function AppBuilderOptimizerWidgetComponent(props: Props) { const handleToggle = (event) => { setIsVisible(event.currentTarget.checked); - }; + }; const handleCheckboxChange = (index) => { const newValues = [...checkboxValues]; @@ -100,11 +111,11 @@ export default function AppBuilderOptimizerWidgetComponent(props: Props) { const handleStartClick = () => { setIsRunning(true); runOptimizer(checkboxValues); - }; + }; - const handleEndClick = () => { - // stop optimizer - }; + const handleEndClick = () => { + optimizer?.requestCancellation(); + }; return <> @@ -118,15 +129,16 @@ export default function AppBuilderOptimizerWidgetComponent(props: Props) { defaultChecked label={key} onChange={() => handleCheckboxChange(index)} + key={index} /> ))} From e104ac1106d99eb4ecadcefd0f60d5eeecba5eda Mon Sep 17 00:00:00 2001 From: Alexander Schiftner Date: Sat, 20 Apr 2024 23:35:23 +0200 Subject: [PATCH 20/25] parallelize --- src/optimization/nsga2.ts | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/optimization/nsga2.ts b/src/optimization/nsga2.ts index 486a24f3..08159951 100644 --- a/src/optimization/nsga2.ts +++ b/src/optimization/nsga2.ts @@ -182,12 +182,12 @@ export class NSGA2 * @returns */ protected async initPopulation(): Promise[]> { - const population : Individual[] = []; + const population : Promise>[] = []; for (let i = 0; i < this.populationSize; i++) { - population[i] = await this.createRandomIndividual(); + population.push(this.createRandomIndividual()); } - - return population; + + return await Promise.all(population); } /** @@ -304,16 +304,16 @@ export class NSGA2 * @returns */ protected async generateOffsprings(parents: Individual[]): Promise[]> { - const offsprings: Individual[] = []; - // TODO parallelize the computation of offsprings - while (offsprings.length < this.populationSize) { + const offspring: Promise[]>[] = []; + let numOffsprings = 0; + while (numOffsprings < this.populationSize) { const parentA = this.getGoodParent(parents); const parentB = this.getGoodParent(parents); - const childs = await this.mate(parentA, parentB); - offsprings.push(childs[0], childs[1]); + offspring.push(this.mate(parentA, parentB)); + numOffsprings += 2; } - - return offsprings; + + return (await Promise.all(offspring)).flat(1); } /** From ebcb2b35e8627d87f7595671831842d96baab64c Mon Sep 17 00:00:00 2001 From: Alexander Schiftner Date: Sun, 21 Apr 2024 08:33:44 +0200 Subject: [PATCH 21/25] improved progress bar --- src/optimization/nsga2.ts | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/src/optimization/nsga2.ts b/src/optimization/nsga2.ts index 08159951..c4f6e742 100644 --- a/src/optimization/nsga2.ts +++ b/src/optimization/nsga2.ts @@ -86,6 +86,7 @@ export class NSGA2 crossoverRate: number; objectiveFunction: ObjectiveFunctionType; genomeFunction: GenomeFunctionType; + currentProgress: number = 0; progressCallback?: ProgressCallbackType; cancellationRequested: boolean = false; @@ -118,6 +119,7 @@ export class NSGA2 */ async optimize(frontOnly: boolean = false): Promise> { const timeStamp = Date.now(); + this.setProgress(0); // First parents let pop: Individual[]; pop = await this.initPopulation(); @@ -127,7 +129,7 @@ export class NSGA2 let generationCount: number = 1; while (generationCount < this.maxGenerations) { if (this.cancellationRequested) break; - this.progressCallback?.(generationCount / this.maxGenerations); + this.setProgress(generationCount / this.maxGenerations); // create offsprings const offsprings = await this.generateOffsprings(pop); // extend the population with the offsprings @@ -169,6 +171,16 @@ export class NSGA2 return { individuals: pop.map(i => i.getData()) }; } + setProgress(progress: number) { + this.currentProgress = progress; + this.progressCallback?.(progress); + } + + addProgress(progress: number) { + this.currentProgress += progress; + this.progressCallback?.(this.currentProgress); + } + /** * Request cancellation of the optimization. */ @@ -184,7 +196,12 @@ export class NSGA2 protected async initPopulation(): Promise[]> { const population : Promise>[] = []; for (let i = 0; i < this.populationSize; i++) { - population.push(this.createRandomIndividual()); + population.push((() => { + const res = this.createRandomIndividual(); + this.addProgress(1 / (this.populationSize * this.maxGenerations)); + + return res; + })()); } return await Promise.all(population); @@ -309,7 +326,12 @@ export class NSGA2 while (numOffsprings < this.populationSize) { const parentA = this.getGoodParent(parents); const parentB = this.getGoodParent(parents); - offspring.push(this.mate(parentA, parentB)); + offspring.push((async () => { + const res = await this.mate(parentA, parentB); + this.addProgress(2 / (this.populationSize * this.maxGenerations)); + + return res; + })()); numOffsprings += 2; } From 2b592f7aa2a8ad2d189ee51ba6084d41e8383158 Mon Sep 17 00:00:00 2001 From: Alexander Schiftner Date: Sun, 21 Apr 2024 09:27:40 +0200 Subject: [PATCH 22/25] callback for generations --- .../AppBuilderOptimizerWidgetComponent.tsx | 1 + src/optimization/nsga2.ts | 30 ++++++++++--- src/optimization/optimizer.ts | 44 ++++++++++++++++--- 3 files changed, 61 insertions(+), 14 deletions(-) diff --git a/src/components/shapediver/appbuilder/AppBuilderOptimizerWidgetComponent.tsx b/src/components/shapediver/appbuilder/AppBuilderOptimizerWidgetComponent.tsx index f24d761c..ce59f726 100644 --- a/src/components/shapediver/appbuilder/AppBuilderOptimizerWidgetComponent.tsx +++ b/src/components/shapediver/appbuilder/AppBuilderOptimizerWidgetComponent.tsx @@ -91,6 +91,7 @@ export default function AppBuilderOptimizerWidgetComponent(props: Props) { crossoverRate: 0.5, progressCallback: (progress) => setProgress(progress*100), }, + generationCallback: (generation) => customize(generation.parameterValues[0]) }); setIsRunning(false); customize(result.parameterValues[0]); diff --git a/src/optimization/nsga2.ts b/src/optimization/nsga2.ts index c4f6e742..225b390a 100644 --- a/src/optimization/nsga2.ts +++ b/src/optimization/nsga2.ts @@ -11,10 +11,15 @@ type ObjectiveFunctionType = (chromosome: Tchromosome[]) => Promise type GenomeFunctionType = (index: number) => Tchromosome; /** - * Type of the progress callback. + * Type of the progress callback. "progress" is a number between 0 and 1. */ export type ProgressCallbackType = (progress: number) => void; +/** + * Type of the generation callback. "individuals" is the current population. + */ +export type GenerationCallbackType = (generation: INSGA2Result) => void; + /** * User-facing properties of the NSGA-II optimization algorithm. */ @@ -37,8 +42,6 @@ export interface INSGA2Props { crossoverRate: number, /** * Optional callback for being notified about the progress of the optimization. - * @param generation - * @returns */ progressCallback?: ProgressCallbackType } @@ -51,7 +54,6 @@ export interface INSGA2Result { * The individuals on the pareto front. */ individuals: IIndividual[] - } /** @@ -70,6 +72,10 @@ export interface INSGA2InternalProps extends INSGA2Props { * Create a random chromosome based on the index. */ genomeFunction: GenomeFunctionType + /** + * Optional callback for being notified about the current generation. + */ + generationCallback?: GenerationCallbackType } /** @@ -89,6 +95,7 @@ export class NSGA2 currentProgress: number = 0; progressCallback?: ProgressCallbackType; cancellationRequested: boolean = false; + generationCallback?: GenerationCallbackType; constructor( { chromosomeSize, @@ -100,6 +107,7 @@ export class NSGA2 objectiveFunction, genomeFunction, progressCallback, + generationCallback, }: INSGA2InternalProps ) { this.chromosomeSize = chromosomeSize; this.objectiveSize = objectiveSize; @@ -110,6 +118,7 @@ export class NSGA2 this.objectiveFunction = objectiveFunction; this.crossoverRate = crossoverRate; this.mutationRate = mutationRate; + this.generationCallback = generationCallback; } /** @@ -152,22 +161,29 @@ export class NSGA2 } } pop = nextPop; + if (generationCount < this.maxGenerations) + this.generationCallback?.(this.createResult(pop, frontOnly)); generationCount++; } // Timestamp console.log(`NSGA2 Finished in ${(Date.now() - timeStamp)} milliseconds.`); - // Return pareto fronts only + + return this.createResult(pop, frontOnly); + } + + createResult(pop: Individual[], frontOnly: boolean): INSGA2Result { if (frontOnly) { + // Return pareto front only const fpop: Individual[] = []; for (const p of pop) { if (p.paretoRank == 1) { fpop.push(p); } } - + return { individuals: fpop.map(i => i.getData()) }; } - + return { individuals: pop.map(i => i.getData()) }; } diff --git a/src/optimization/optimizer.ts b/src/optimization/optimizer.ts index 5e88e174..5ca12d1d 100644 --- a/src/optimization/optimizer.ts +++ b/src/optimization/optimizer.ts @@ -32,12 +32,27 @@ export interface IShapeDiverModelOptimizerCreateProps { defaultParameterValues: ParameterValuesType, } +/** + * Type of the generation callback. "individuals" is the current population. + */ +export type GenerationCallbackTypeExt = (generation: INSGA2ResultExt) => void; + /** * Properties for optimizing a ShapeDiver model */ export interface IShapeDiverModelOptimizerProps { + /** + * Ids of the parameters to be included in the optimization. If not set, all parameters are included. + */ parameterIds?: string[], + /** + * Optimizer-specific properties + */ optimizerProps: Tprops, + /** + * Callback function to be called after each generation. + */ + generationCallback?: GenerationCallbackTypeExt, } /** @@ -132,7 +147,11 @@ export class ShapeDiverModelOptimizerNsga2 implements IShapeDiverModelOptimizer< } public async optimize(props: IShapeDiverModelOptimizerProps): Promise> { - const { parameterIds: _parameterIds, optimizerProps: optimizerOptions } = props; + const { + parameterIds: _parameterIds, + optimizerProps, + generationCallback: _generationCallback, + } = props; const parameterIds = _parameterIds ?? Object.keys(this.modelDto.parameters!); const chromosomeSize = parameterIds.length; @@ -184,7 +203,7 @@ export class ShapeDiverModelOptimizerNsga2 implements IShapeDiverModelOptimizer< const objectiveFunction = async (chromosome: string[]): Promise => { // run ShapeDiver computation - console.debug("Running ShapeDiver computation with chromosome", chromosome); + //console.debug("Running ShapeDiver computation with chromosome", chromosome); const body: { [key: string]: string } = { ...this.defaultParameterValues }; chromosome.forEach((value, index) => { @@ -213,16 +232,28 @@ export class ShapeDiverModelOptimizerNsga2 implements IShapeDiverModelOptimizer< return objectiveValues; }; + const generationCallback = _generationCallback ? + (generation: INSGA2Result) => { + _generationCallback(this.mapResult(generation, parameterIds)); + } : undefined; + this.nsga2 = new NSGA2({ chromosomeSize, genomeFunction, objectiveSize: this.objectiveSize, objectiveFunction, - ...optimizerOptions}); + generationCallback, + ...optimizerProps}); - const { individuals } = await this.nsga2.optimize(true); + const result = await this.nsga2.optimize(true); this.nsga2 = undefined; - const result = { + + return this.mapResult(result, parameterIds); + } + + mapResult(result: INSGA2Result, parameterIds: string[]): INSGA2ResultExt { + const { individuals } = result; + const resultExt = { individuals, parameterValues: individuals.map(individual => { const parameterValues = { ...this.defaultParameterValues}; @@ -234,8 +265,7 @@ export class ShapeDiverModelOptimizerNsga2 implements IShapeDiverModelOptimizer< }) }; - return result; + return resultExt; } - } From 814ae0eef648683cc3db16cac6f00e7b84f89a6f Mon Sep 17 00:00:00 2001 From: mathieu Date: Sun, 21 Apr 2024 10:42:57 +0200 Subject: [PATCH 23/25] weight sliders --- .../AppBuilderOptimizerWidgetComponent.tsx | 92 ++++++++++++++++--- 1 file changed, 81 insertions(+), 11 deletions(-) diff --git a/src/components/shapediver/appbuilder/AppBuilderOptimizerWidgetComponent.tsx b/src/components/shapediver/appbuilder/AppBuilderOptimizerWidgetComponent.tsx index f24d761c..8bf16f1c 100644 --- a/src/components/shapediver/appbuilder/AppBuilderOptimizerWidgetComponent.tsx +++ b/src/components/shapediver/appbuilder/AppBuilderOptimizerWidgetComponent.tsx @@ -1,5 +1,5 @@ import { AppBuilderSettingsContext } from "context/AppBuilderContext"; -import { Paper, Title, Checkbox, Button, Switch, Slider, Text, Progress} from "@mantine/core"; +import { Paper, Title, Checkbox, Button, Switch, Slider, Text, Progress, Group} from "@mantine/core"; import { useSessionPropsParameter } from "hooks/shapediver/parameters/useSessionPropsParameter"; import { useOutputContent } from "hooks/shapediver/viewer/useOutputContent"; import { INSGA2ResultExt, IObjectiveOutputData, IShapeDiverModelOptimizer, OBJECTIVE_OUTPUT_NAME, ParameterValuesType, ShapeDiverModelOptimizerNsga2 } from "optimization/optimizer"; @@ -74,6 +74,57 @@ export default function AppBuilderOptimizerWidgetComponent(props: Props) { const [isRunning, setIsRunning] = useState(false); const [optimizer, setOptimizer] = useState>|undefined>(undefined); const [progress, setProgress] = useState(0); + const [result, setResult] = useState< INSGA2ResultExt>(); + + const updateWeights = (index,value,custom) => { + const newWeights = [...weights]; + newWeights[index].value = value; + setWeights(newWeights); + if (result&&custom) { + console.log(currentBest(result)); + customize(result.parameterValues[currentBest(result)]); + } + }; + + const setInitialWeights = () => { + const newWeights= []; + {Object.entries(objectives).map(([key, value], index) => ( + newWeights.push({key: key, value: 0.5}) + ))} + return newWeights; + }; + + const [weights, setWeights] = useState(setInitialWeights); + + const individualScore= (ind) => { + + let sum=0; + const weightValues = weights.sort((a, b) => a.key.localeCompare(b.key)).map(item => item.value); + + for (let i = 0; i < ind.objectives.length; i++) { + sum += ind.objectives[i]*weightValues[i]; + } + + return sum; + } + + const currentBest = (result: INSGA2ResultExt) => { + + let bestIndex = 0; + let best = individualScore(result.individuals[0]); + console.log("looking for curr best: "); + console.log(result.individuals); + for (let i = 0; i < result.individuals.length; i++) { + let curr = individualScore(result.individuals[i]); + console.log(curr); + if (curr < best) { + best=curr; + bestIndex=i; + } + } + + return bestIndex; + }; const runOptimizer = async (values) => { const optimizer = await ShapeDiverModelOptimizerNsga2.create({ @@ -82,7 +133,7 @@ export default function AppBuilderOptimizerWidgetComponent(props: Props) { }); setOptimizer(optimizer); console.log("Running optimizer with values:", values); - const result = await optimizer.optimize({ + const currResult = await optimizer.optimize({ parameterIds, optimizerProps: { populationSize: populationSize, @@ -93,7 +144,10 @@ export default function AppBuilderOptimizerWidgetComponent(props: Props) { }, }); setIsRunning(false); - customize(result.parameterValues[0]); + console.log(currResult); + setResult(currResult); + customize(currResult.parameterValues[currentBest(currResult)]); + }; const [isVisible, setIsVisible] = useState(false); @@ -121,17 +175,33 @@ export default function AppBuilderOptimizerWidgetComponent(props: Props) { Goals to optimize + {Object.entries(objectives).map(([key, value], index) => ( + + handleCheckboxChange(index)} + key={index} + style={{ marginTop: 20 }} + /> + + updateWeights(index,val, false)} + onChangeEnd={(val) => updateWeights(index,val, true)} + marks={[ + { value: 0, label: "0" }, + { value: 1, label: "1" } + ]} + style={{ flexGrow: 1 }} + /> + - {Object.entries(objectives).map(([key, value], index) => ( - handleCheckboxChange(index)} - key={index} - style={{ marginTop: 20 }} - /> ))} From 4d1355c207b0bc75545dfbc9e3c69eddf39f94bc Mon Sep 17 00:00:00 2001 From: Alexander Schiftner Date: Sun, 21 Apr 2024 10:53:34 +0200 Subject: [PATCH 24/25] README update --- src/optimization/README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/optimization/README.md b/src/optimization/README.md index 89d5f62a..6b54d042 100644 --- a/src/optimization/README.md +++ b/src/optimization/README.md @@ -4,6 +4,10 @@ Find the original paper by Kalyanmoy Deb et al [here](https://www.cse.unr.edu/~s A video explaining NSGA-II can be found [here](https://www.youtube.com/watch?v=SL-u_7hIqjA). +We started our implementation based on the code available [here](https://github.com/Aiei/nsga2/tree/master), and +extended it by extended TypeScript types, support for asynchronous execution, and implementing a connector +to ShapeDiver Geometry Backend systems. + ## NSGA-II as summarized by ChatGPT The NSGA-II (Non-dominated Sorting Genetic Algorithm II) is a popular multi-objective optimization algorithm designed to solve problems involving multiple conflicting objectives. Developed by Kalyanmoy Deb et al. in 2002, the algorithm is an enhancement of its predecessor, NSGA, and is specifically known for its efficiency and ability to maintain a diverse set of solutions. Here’s a breakdown of its key principles and how it operates: From 19cbc84ebbdafdb1e4266ba74e39a92cc5891e33 Mon Sep 17 00:00:00 2001 From: mathieu Date: Sun, 21 Apr 2024 10:54:29 +0200 Subject: [PATCH 25/25] generation best update --- .../appbuilder/AppBuilderOptimizerWidgetComponent.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/shapediver/appbuilder/AppBuilderOptimizerWidgetComponent.tsx b/src/components/shapediver/appbuilder/AppBuilderOptimizerWidgetComponent.tsx index 54b6c710..65e8b6c3 100644 --- a/src/components/shapediver/appbuilder/AppBuilderOptimizerWidgetComponent.tsx +++ b/src/components/shapediver/appbuilder/AppBuilderOptimizerWidgetComponent.tsx @@ -142,7 +142,7 @@ export default function AppBuilderOptimizerWidgetComponent(props: Props) { crossoverRate: 0.5, progressCallback: (progress) => setProgress(progress*100), }, - generationCallback: (generation) => customize(generation.parameterValues[0]) + generationCallback: (generation) => customize(generation.parameterValues[currentBest(generation)]) }); setIsRunning(false); console.log(currResult);

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