---
title: OptimizationStrategy.nonSmooth
framework: createmlcomponents
role: symbol
role_heading: Case
path: createmlcomponents/optimizationstrategy/nonsmooth
---

# OptimizationStrategy.nonSmooth

An optimization strategy that can handle non-smooth problems.

## Declaration

```swift
case nonSmooth
```

## Discussion

Discussion Select this strategy when using L1 regularization. Using L1 regularization causes the optimization problem to be non-smooth. Other optimization strategies rely on the optimization problem being smooth and will likely fail to converge when using L1 regularization.

## See Also

### Optimization strategies

- [OptimizationStrategy.automatic](createmlcomponents/optimizationstrategy/automatic.md)
- [OptimizationStrategy.fast](createmlcomponents/optimizationstrategy/fast.md)
- [OptimizationStrategy.lowMemory](createmlcomponents/optimizationstrategy/lowmemory.md)
