    

 ## On this page

  

 

 # IFeasibilityProvider Interface

 Last update: 19.06.2026 

**Namespace:** `Phoenix.Optimization`

## Overview

Implemented by algorithms with custom IsDesignFeasible implementations.

## Inheritance

![IFeasibilityProvider](/sites/default/files/git_ansys/markdown_3306fa4fe71ffce83fd2860374ec3ee5_automation/ifeasibilityprovider.png)

## Declaration

```csharp
interface IFeasibilityProvider

```

## Description

Implemented by algorithms with custom IsDesignFeasible implementations.

## Public Member Functions

TypeNameDescriptionFuzzyBoolean`IsDesignFeasible (double[] objectiveValues, double[] constraintValues, object[] designVariableValues)`Tests whether the given design is feasible.## Member Function Documentation

### IsDesignFeasible

```csharp
FuzzyBoolean IsDesignFeasible ( double[] objectiveValues, double[] constraintValues, object[] designVariableValues )

```

Tests whether the given design is feasible. Algorithms that wish to mark designs as marginally feasible must implement this interface. Implementation must not depend on anything except current settings and specified design.   
Default implementation used by the Optimization Tool is listed here for reference:

**Parameters:**

- `objectiveValues` - The values of the objectives for the design.
- `constraintValues` - The values of the constraints for the design.
- `designVariableValues` - The values of the design variables for the design.

**Returns:**

- True if the design is feasible, Maybe if the design is marginally feasible, and False if the design is infeasible.

## Property Documentation

### IsDesignFeasible()

```csharp
FuzzyBoolean IsDesignFeasible ( double[] objectiveValues, double[] constraintValues, object[] designVariableValues )

```

Tests whether the given design is feasible. Algorithms that wish to mark designs as marginally feasible must implement this interface. Implementation must not depend on anything except current settings and specified design.   
Default implementation used by the Optimization Tool is listed here for reference: