LogControl
로그 기록과 관련된 기능을 담당하는 컨트롤
GetStateLogPeriod
public override int GetStateLogPeriod()정의
State 로그를 기록하는 주기를 설정합니다. 예를 들어, 5000으로 설정되었을 경우 5000개의 State 마다 한번씩 로그를 기록합니다.
예제 (Default Logic)
public override int GetStateLogPeriod()
{
return 5000;
}WriteSolution
public override void WriteSolution(Solution solution)정의
Solution을 기록합니다.
예제
public override void WriteSolution(Solution solution)
{
StringBuilder jobStr = new StringBuilder();
StringBuilder colorStr = new StringBuilder();
StringBuilder convStr = new StringBuilder();
IOrderedEnumerable<KeyValuePair<int, State>> states = solution.States.OrderBy(x => x.Key);
foreach (KeyValuePair<int, State> item in states)
{
CRPState state = item.Value as CRPState;
if (state.IsInitial)
continue;
jobStr.Append(state.LastRetrievedJob.Number);
colorStr.Append(state.LastRetrievedJob.Color.ColorNumber);
convStr.Append(state.CurrentConveyor.ConveyorNum);
if (state.JobCount > 0)
{
jobStr.Append("-");
colorStr.Append("-");
convStr.Append("-");
}
}
Console.WriteLine(string.Format("Job Sequence: {0}", jobStr.ToString()));
Console.WriteLine(string.Format("Color Sequence: {0}", colorStr.ToString()));
Console.WriteLine(string.Format("Conveyor Sequence: {0}", convStr.ToString()));
}IsExportStateLog
정의
State 로그를 파일로 Export 할지 여부를 설정합니다.
반환
Type
Description
Default
Boolean
State 로그 Export 여부입니다.
False
예제
WriteBestSolutionLog
정의
현재까지의 Best Solution에 대한 로그를 기록합니다.
예제
WriteOptimalLog
정의
최적해를 찾고 난 후 로그를 기록합니다.
예제
WritePruneLog
정의
State가 Prune 되었을 때 로그를 기록합니다.
예제
Last updated