pareto-optimization
Multi-objective optimization with Pareto frontiers. Use when optimizing multiple conflicting objectives simultaneously, finding trade-off solutions, or computing Pareto-optimal points.
Install
mkdir -p .claude/skills/pareto-optimization && curl -L -o skill.zip "https://mcp.directory/api/skills/download/7542" && unzip -o skill.zip -d .claude/skills/pareto-optimization && rm skill.zipInstalls to .claude/skills/pareto-optimization
About this skill
Pareto Optimization
Pareto optimization deals with multi-objective optimization where you want to optimize multiple conflicting objectives simultaneously.
Key Concepts
Pareto Dominance
Point A dominates point B if:
- A is at least as good as B in all objectives
- A is strictly better than B in at least one objective
Pareto Frontier (Pareto Front)
The set of all non-dominated points. These represent optimal trade-offs where improving one objective requires sacrificing another.
Computing the Pareto Frontier
Using the paretoset Library
from paretoset import paretoset
import pandas as pd
# Data with two objectives (e.g., model accuracy vs inference time)
df = pd.DataFrame({
'accuracy': [0.95, 0.92, 0.88, 0.85, 0.80],
'latency_ms': [120, 95, 75, 60, 45],
'model_size': [100, 80, 60, 40, 20],
'learning_rate': [0.001, 0.005, 0.01, 0.05, 0.1]
})
# Compute Pareto mask
# sense: "max" for objectives to maximize, "min" for objectives to minimize
objectives = df[['accuracy', 'latency_ms']]
pareto_mask = paretoset(objectives, sense=["max", "min"])
# Get Pareto-optimal points
pareto_points = df[pareto_mask]
Manual Implementation
import numpy as np
def is_dominated(point, other_points, maximize_indices, minimize_indices):
"""Check if point is dominated by any point in other_points."""
for other in other_points:
dominated = True
strictly_worse = False
for i in maximize_indices:
if point[i] > other[i]:
dominated = False
break
if point[i] < other[i]:
strictly_worse = True
if dominated:
for i in minimize_indices:
if point[i] < other[i]:
dominated = False
break
if point[i] > other[i]:
strictly_worse = True
if dominated and strictly_worse:
return True
return False
def compute_pareto_frontier(points, maximize_indices=[0], minimize_indices=[1]):
"""Compute Pareto frontier from array of points."""
pareto = []
points_list = list(points)
for i, point in enumerate(points_list):
others = points_list[:i] + points_list[i+1:]
if not is_dominated(point, others, maximize_indices, minimize_indices):
pareto.append(point)
return np.array(pareto)
Example: Model Selection
import pandas as pd
from paretoset import paretoset
# Results from model training experiments
results = pd.DataFrame({
'accuracy': [0.95, 0.92, 0.90, 0.88, 0.85],
'inference_time': [150, 120, 100, 80, 60],
'batch_size': [32, 64, 128, 256, 512],
'hidden_units': [512, 256, 128, 64, 32]
})
# Filter by minimum accuracy threshold
results = results[results['accuracy'] >= 0.85]
# Compute Pareto frontier (maximize accuracy, minimize inference time)
mask = paretoset(results[['accuracy', 'inference_time']], sense=["max", "min"])
pareto_frontier = results[mask].sort_values('accuracy', ascending=False)
# Save to CSV
pareto_frontier.to_csv('pareto_models.csv', index=False)
Visualization
import matplotlib.pyplot as plt
# Plot all points
plt.scatter(results['inference_time'], results['accuracy'],
alpha=0.5, label='All models')
# Highlight Pareto frontier
plt.scatter(pareto_frontier['inference_time'], pareto_frontier['accuracy'],
color='red', s=100, marker='s', label='Pareto frontier')
plt.xlabel('Inference Time (ms) - minimize')
plt.ylabel('Accuracy - maximize')
plt.legend()
plt.show()
Properties of Pareto Frontiers
- Trade-off curve: Moving along the frontier improves one objective while worsening another
- No single best: All Pareto-optimal solutions are equally "good" in a multi-objective sense
- Decision making: Final choice depends on preference between objectives
More by benchflow-ai
View all skills by benchflow-ai →You might also like
flutter-development
aj-geddes
Build beautiful cross-platform mobile apps with Flutter and Dart. Covers widgets, state management with Provider/BLoC, navigation, API integration, and material design.
drawio-diagrams-enhanced
jgtolentino
Create professional draw.io (diagrams.net) diagrams in XML format (.drawio files) with integrated PMP/PMBOK methodologies, extensive visual asset libraries, and industry-standard professional templates. Use this skill when users ask to create flowcharts, swimlane diagrams, cross-functional flowcharts, org charts, network diagrams, UML diagrams, BPMN, project management diagrams (WBS, Gantt, PERT, RACI), risk matrices, stakeholder maps, or any other visual diagram in draw.io format. This skill includes access to custom shape libraries for icons, clipart, and professional symbols.
ui-ux-pro-max
nextlevelbuilder
"UI/UX design intelligence. 50 styles, 21 palettes, 50 font pairings, 20 charts, 8 stacks (React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app, .html, .tsx, .vue, .svelte. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient."
godot
bfollington
This skill should be used when working on Godot Engine projects. It provides specialized knowledge of Godot's file formats (.gd, .tscn, .tres), architecture patterns (component-based, signal-driven, resource-based), common pitfalls, validation tools, code templates, and CLI workflows. The `godot` command is available for running the game, validating scripts, importing resources, and exporting builds. Use this skill for tasks involving Godot game development, debugging scene/resource files, implementing game systems, or creating new Godot components.
nano-banana-pro
garg-aayush
Generate and edit images using Google's Nano Banana Pro (Gemini 3 Pro Image) API. Use when the user asks to generate, create, edit, modify, change, alter, or update images. Also use when user references an existing image file and asks to modify it in any way (e.g., "modify this image", "change the background", "replace X with Y"). Supports both text-to-image generation and image-to-image editing with configurable resolution (1K default, 2K, or 4K for high resolution). DO NOT read the image file first - use this skill directly with the --input-image parameter.
fastapi-templates
wshobson
Create production-ready FastAPI projects with async patterns, dependency injection, and comprehensive error handling. Use when building new FastAPI applications or setting up backend API projects.
Related MCP Servers
Browse all serversOptimize hyper parameters effortlessly with Optuna, the best AutoML software for automated analysis, visualization, and
Boost Postgres performance with Postgres MCP Pro—AI-driven index tuning, health checks, and safe, intelligent SQL optimi
Optimize Facebook ad campaigns with AI-driven insights, creative analysis, and campaign control in Meta Ads Manager for
Seamlessly integrate with Odoo ERP for advanced business record management, automation, and secure data workflows via XM
Boost AI assistants with a unified DataForSEO MCP server interface. This project offers modular tools—SERP, Keywords, Ba
Google Maps Travel Planner: Plan journeys, optimize itineraries, and get trip directions with AI-driven, automated trave
Stay ahead of the MCP ecosystem
Get weekly updates on new skills and servers.