// Copyright 2010-2018 Google LLC// Licensed under the Apache License, Version 2.0 (the "License");// you may not use this file except in compliance with the License.// You may obtain a copy of the License at//// http://www.apache.org/licenses/LICENSE-2.0//// Unless required by applicable law or agreed to in writing, software// distributed under the License is distributed on an "AS IS" BASIS,// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.// See the License for the specific language governing permissions and// limitations under the License.usingSystem;usingGoogle.OrTools.Sat;publicclassOptionalIntervalSampleSat{staticvoidMain(){CpModelmodel=newCpModel();inthorizon=100;IntVarstart_var=model.NewIntVar(0,horizon,"start");// C# code supports IntVar or integer constants in intervals.intduration=10;IntVarend_var=model.NewIntVar(0,horizon,"end");IntVarpresence_var=model.NewBoolVar("presence");IntervalVarinterval=model.NewOptionalIntervalVar(start_var,duration,end_var,presence_var,"interval");}}