# Parameter selection

The `ParameterSelection` field in a study specifies which parameters of the system should be tuned while running the optimization study.

In case this selection is not specified, all parameters are considered.

A parameter selection can either assume the value of `all` to indicate that all the available parameters of the system of the study should be tuned, or can assume the value of a list with items of the shape like the one below:

| Field        | Type             | Value restriction                                                                                                                                                                                                                                                                                                    | Is required | Default value   | Description                                                                            |
| ------------ | ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- | --------------- | -------------------------------------------------------------------------------------- |
| `name`       | string           | <p>should match the following syntax:</p><p><code>component\_name.parameter\_name</code></p><p>where <code>component\_name</code> is an existing component, where <code>parameter\_name</code> is an existing parameter that is associated with the component-type of the component <code>component\_name</code></p> | TRUE        | <p><br><br></p> | The name of the parameter to be tuned including the name of the component it refers to |
| `domain`     | array of numbers | should be of size 2, contain either all integers or real numbers(do not omit the "."), be set only if the parameter has a domain of type `integer` or `real,`and be compatible with the domain defined in the component-type the `component_name` refers to                                                          | FALSE       | <p><br><br></p> | A custom domain for the parameter to be used only for the study                        |
| `categories` | array of string  | should be set only if the parameter has a domain of type `categorical`, and be compatible with the domain defined in the component-type the `component_name` refers to.                                                                                                                                              | FALSE       | <p><br><br></p> | A custom set of categories for the parameter to be used only for the study.            |

Notice that, by default, every parameter specified in the parameters selection of a study is applied. This can be modified, by leveraging the [Parameter rendering](https://docs.akamas.io/akamas-docs/3.6/reference/construct-templates/study-template/parameter-rendering) options.

### Example

The following fragment is an example:

```yaml
parametersSelection:
  - name: jvm.jvm_gcType
  - name: jvm.jvm_maxG1NewSizePercent
    domain: [10, 90]
  - name: webserver.aws_ec2_instance_size
    categories: ["large", "x.large", "2x.large"]
```
