# SolverControl

### GetRunMaxTime

```csharp
public override int GetRunMaxTime()
```

#### 정의

Solver의 최대 구동 시간을 설정합니다. (단위: 초)

#### 반환

<table><thead><tr><th width="151.33333333333331">Type</th><th width="398">Description</th><th>Default</th></tr></thead><tbody><tr><td>Integer</td><td>Solver의 최대 구동 시간 입니다. (단위: 초)</td><td>Int32.MaxValue</td></tr></tbody></table>

#### 예제 (Default Logic)

```csharp
public override int GetRunMaxTime() 
{
    return Int32.MaxValue;
}
```

### GetObjectiveFunctionType

```csharp
public override ObjectiveFunctionType GetObjectiveFuntionType(IRunConfig runConfig)
```

#### 정의

문제의 목적함수 타입을 설정합니다. (Maximize 또는 Minimize)

#### 매개 변수

<table><thead><tr><th width="266">Type</th><th>Description</th></tr></thead><tbody><tr><td>IRunConfig</td><td>구동 정보를 나타내는 IRunConfig 객체입니다.</td></tr></tbody></table>

#### 반환

| Type                  | Description | Default                            |
| --------------------- | ----------- | ---------------------------------- |
| ObjectiveFunctionType | 목적함수 타입입니다. | [Default Logic 참조](#default-logic) |

#### 예제 (Default Logic)

```csharp
public override ObjectiveFunctionType GetObjectiveFuntionType(IRunConfig runConfig)
{
    ObjectiveFunctionType objectiveFunctionType = UtilityHelper.StringToEnum(runConfig.OBJECTIVE_FUNCTION_TYPE, ObjectiveFunctionType.Minimize);

    return objectiveFunctionType;
}
```

### GetProjectName

```csharp
public override string GetProjectName()
```

#### 정의

현재 프로젝트의 이름을 설정합니다.

#### 반환

<table><thead><tr><th width="171">Type</th><th width="370">Description</th><th>Default</th></tr></thead><tbody><tr><td>String</td><td>프로젝트 이름입니다.</td><td><a href="#default-logic-1">Default Logic 참조</a></td></tr></tbody></table>

#### 예시 (Default Logic)

```csharp
public override string GetProjectName()
{
    return Assembly.GetExecutingAssembly().GetName().Name;
}
```

### GetOutputDirectoryPath

```csharp
public override string GetOutputDirectoryPath(string solverName)
```

#### 정의

출력 데이터를 저장할 디렉터리를 설정합니다.

{% hint style="info" %}
별도로 경로를 설정하지 않을 경우, 현재 프로젝트 경로에 "Output" 디렉터리를 생성하여 저장합니다.
{% endhint %}

#### 반환

<table><thead><tr><th width="161.33333333333331">Type</th><th width="435">Description</th><th>Default</th></tr></thead><tbody><tr><td>String</td><td>출력 데이터를 저장할 디렉터리 경로입니다.</td><td>Null</td></tr></tbody></table>

#### 예제 (Default Logic)

```csharp
public override string GetOutputDirectoryPath(string solverName) 
{
    return null;
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://swonh.gitbook.io/sdmp-user-manual-kor/general-module/undefined-1/solvercontrol.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
