Evolutionary Algorithm Storage Optimization via Survivor Generation Prioritization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Evolutionary algorithms are computationally expensive and resource-intensive, requiring many generations and iterations to converge to a solution, which can lead to high processor time and storage space usage, necessitating optimized resource management.

Innovation Solution

Implementing algorithm-aware tiering and caching to optimize storage usage by analyzing the resource usage patterns of instance generations, prioritizing survivor generations, and adjusting storage tiers based on their fitness and lineage, thereby optimizing storage and resource allocation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If evolutionary algorithms execute many generations and iterations to converge to a solution, then solution accuracy is improved, but storage space usage increases

Engineering Contradiction:
Improvesolution accuracyVSAvoidstorage space usage
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent applies local quality by differentiating storage priorities among different generations. Survivor generations (fit members) receive high-priority storage allocation while non-survivor generations (unfit members) receive low-priority or no storage allocation. This selective storage strategy maintains solution accuracy by preserving essential genetic information while reducing overall storage space usage by eliminating redundant data from unsuccessful generations.

Inventive Principle:
Principle #3Local quality

2Measurement precision

If evolutionary algorithms execute many generations and iterations to converge to a solution, then solution accuracy is improved, but processor time usage increases

Engineering Contradiction:
Improvesolution accuracyVSAvoidprocessor time usage
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent extracts and eliminates redundant computational work by identifying and removing non-survivor generations from further processing. By selecting only fit members as survivors that contribute to subsequent generations, the algorithm avoids re-processing unsuccessful candidate solutions, thereby reducing processor time usage while maintaining the ability to converge to accurate solutions through preserved survivor genetic information.

Inventive Principle:
Principle #2Taking out (Extraction)

3Loss of information

If all instance generations are stored with equal priority, then data completeness is maintained, but storage efficiency decreases

Engineering Contradiction:
Improvedata completenessVSAvoidstorage efficiency
Core Design Contradiction:
Loss of informationVSProductivity

Solution Approach 1:

The patent implements local quality by assigning different storage priorities to different generations based on their fitness characteristics. Survivor generations are assigned high storage priority to ensure data completeness for successful solutions, while non-survivor generations are assigned low storage priority or discarded. This differential storage strategy maintains essential genetic information for convergence while significantly improving storage efficiency by eliminating redundant data from unsuccessful generations.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS20230409922A1Optimising evolutionary algorithm storage usage
Publication Date: 2023.12.21 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US20230409922A1 patent drawing
  • US20230409922A1 patent drawing
  • US20230409922A1 patent drawing

AI summary

A method, computer program, and computer system are provided for optimizing storage usage of evolutionary algorithms. One or more instance generations associated with an evolutionary algorithm are executed. Data corresponding to inputs and outputs associated with each of the executed instance generations is identified. One or more survivor generations are determined from among the instance generations based on analyzing a fitness associated with the instance generations. The data corresponding to inputs and outputs associated with the determined survivor generations is prioritized.