Имам неориентиран граф с всички върхове с четна степен. В тази графика има набор от ръбове, които трябва да бъдат покрити точно веднъж, и набор от ръбове, които изобщо не трябва да бъдат покривани, освен ако не е абсолютно необходимо. Трябва да намеря набор от един или повече пътища през графиката, така че всички необходими ръбове да бъдат покрити точно веднъж и броят на нежеланите ръбове, преминати, да е сведен до минимум. Нито един задължителен ръб не може да бъде преминат по повече от един път, но нежеланите ръбове могат да бъдат преминати по произволен брой пътища. Това не е съвсем Ойлеров път, защото има незадължителни ръбове.
Дължината на всеки отделен път е ограничена от максимален брой необходими ръбове, които може да покрие, въпреки че пътят може да покрие произволен брой нежелани ръбове.
Началните и крайните точки не трябва да са еднакви, но има набор от възможни начални точки.
Някои от нежеланите ръбове съвпадат с необходимите ръбове -- тоест двойка върхове може да има както изискван ръб, така и нежелан ръб между тях (въпреки че никога няма да има повече от един ръб от всеки тип между дадена двойка върхове).
Какъв е добър алгоритъм за начало? По същество търся алгоритъм, който може да намери път, който пресича необходимите ръбове точно веднъж и избягва нежеланите ръбове, когато е възможно (но може да ги пресича повече от веднъж, ако е необходимо). Мога да надграждам върху това, за да направя останалото.