Poniżej przedstawiamy krótki samouczek dla wszystkich, którzy chcą dodać nowy problem do platformy OPTIL.io .
Wyślij nam e-mail z krótkim opisem problemu, zawierającym:
Zwykle można publikować jakiegokolwiek problem optymalizacyjny. Jednak możemy pomóc ci ulepszyć jego definicje, aby lepiej współgrała z platformą OPTIL.io .
Po otrzymaniu informacji o Twoim problemie zapewnimy Ci stanowisko autora, dzięki czemu możesz dodać definicję problemu za pomocą interfejsu administracyjnego.
Opisz problem, który chcesz opublikować. Dla naszych użytkowników jest znacznie łatwiej, jeśli wszystkie problemy są opisane w podobny sposób, dlatego przygotowaliśmy szablon opisu problemu. Użyj tego szablonu! W szablonie możesz użyć formatu Markdown, aby zastosować formatowanie i LaTeX do formatowania formuł matematycznych. Jeśli jesteś nowicjuszem w Markdown, masz dobry tuturial . Dla każdego problemu powinieneś zdefiniować jego standardową nazwę oraz krótką, skróconą nazwę składającą się z kilku wielkich liter i cyfr. Skrócona nazwa jest używana w niektórych widokach, które nie pozwalają na wyświetlanie dłuższych nazw.
Wraz z opisem problemu można podać kod HTML przedstawiający autorów problemu i ich powiązania(?). Powiąznia zostaną przedstawione w opisie problemu w podpowiedzi widocznej po wskazaniu nazwisk autorów. Użyj następującego formatu, aby podać nazwiska autorów:
Szymon Wasik<sup>1,2</sup>, Maciej Antczak<sup>1</sup>
and the following for affiliations:
<sup>1</sup>Institute of Computing Science, Poznan University of Technology<br/><sup>2</sup>Institute of Bioorganic Chemistry, Polish Academy of Sciences
Jeśli chcesz dodać kilka zdjęć do opisu problemu, musisz najpierw je załadować. Z menu autorskiego wybierz Zdjęcia i prześlij pliki. Po przesłaniu zdjęć panel Obrazy przedstawia ścieżkę, która powinna być używana jako ścieżka do obrazu w opisie problemu.
Dla każdego problemu można określić czas, który użytkownik musi odczekać, przed przesłaniem dwóch kolejnych rozwiązań problemu. Ustawienie takiego odstępu czasu jest dobrym pomysłem na problemy, które mają wiele instancji testowych z długimi limitami czasowymi. Możesz zdefiniować go w minutach , używając odpowiedniego pola w formularzu edycji. Jeśli nie chcesz ustawiać tego odstępu, pozostaw pole puste.
Przygotuj instancje testowe opisujące przypadki testowe, które zostaną rozwiązane przez algorytmy optymalizacyjne użytkowników. Dla każdego problemu zalecamy przygotowanie 30 do 50 instancji, które powinny spełniać następujące warunki:p>
Możesz dodawać instancje i edytować ich parametry za pomocą formularza Edytuj przykłady. Możesz także dodać wiele instancji jednocześnie, używając opcji Dodaj pakiet. Wszystkie wystąpienia powinny być spakowane w jednym archiwum zip. Może to być wygodne, jeśli masz wiele instancji i nie chcesz dodawać ich pojedynczo.
Dla każdego przypadku musisz zdefiniować plik wejściowy i wyjściowy. Plik wejściowy zostanie przekierowany na standardowe wejście rozwiązań użytkownika. Plik wyjściowy będzie dostępny dla programu oceniającego, który oceni rozwiązanie i może przechowywać pewne dodatkowe dane, na przykład optymalne rozwiązania. Jeśli nie potrzebujesz żadnych dodatkowych danych podczas procesu oceny, możesz dodać pusty plik wyjściowy.
Istnieją dwa typy instancji, które można dodać - prywatne i publiczne instancje. Domyślnie wszystkie instancje sąpubliczne, i jest to zachowanie zalecane dla większości autorów problemów.
Możesz używać publicznych instancji razem z prywatnymi do organizowania konkursów z pewnymi instancjami ukrytymi przed uczestnikami. Uwaga: nie ma sensu w dodawaniu prywatnych instancji, jeśli nie planujesz zorganizować konkursu. Przepływ takiego konkursu jest następujący:
Sędzia to program, który ocenia wynik użytkownika i z podwójną precyzją podaje pojedynczą liczbę będącą wartością funkcji celowej. Sędzia powinien być napisany w dowolnym języku kompilacji. Dla wygody dołączamy szablon programu sędziowskiego zaimplementowanego w C ++. Powinieneś skompilować sędziego jako statyczny plik binarny Linuxa i dodać go za pomocą formularza Add judge.
Sędzia zostanie wykonany za pomocą następującego polecenia:
judge instance-input user-output instance-output usertime perftime
Znaczenie argumentów przekazanych sędziemu jest następujące:
Uwaga - nie sprawdzaj, czy liczba argumentów jest równa 5, ponieważ dodatkowe statystyki mogą zostać dodane w przyszłości.
Po podaniu wszystkich informacji opisanych powyżej możesz wysłać problem do moderacji. Aby to zrobić, naciśnij przycisk przeglądania na liście problemów. Będziesz mieć możliwość dodania opcjonalnego komentarza opisującego twój problem. Po wysłaniu problemu do moderacji nie będziesz mógł go zmienić. Po moderacji opublikujemy Twój problem i zobaczysz go na liście przesłanych problemów. Nie zezwalamy jednak na modyfikację żadnego publicznie dostępnego problemu. Aby go zmodyfikować, musisz skontaktować się z nami i wyjaśnić, dlaczego chcesz to zmienić. Wtedy damy Ci taką możliwość.
TAK! Publikowanie problemów naOPTIL.io jest darmowe dla nie komercyjnego użytku. Jeśli chcesz go użyć do rozwiązania jakiegoś problemu przemysłowego, sponsorowania konkursu lub użyć go w inny komercyjny sposób, proszę skontaktuj się z nami.