VB.NET을 사용 중이고 일부 알고리즘 또는 일부 유사 코드 또는 다음을 수행 할 수있는 일부 VB.NET 코드가 필요합니다. (잘 설명해 드리겠습니다.) :시간대 배낭 알고리즘
나는 2 개의 수집 객체 인 Cob1과 Cob2를 가지고있다. 이러한 콜렉션 객체는 ICob이라는 인터페이스를 구현하는 객체를 저장합니다. ICob에는 3 개의 속성이 있습니다. 부울 IsSelected 속성, Length라는 속성, TimeSpan을 반환하는 속성 및 짧은 정수인 Rating 속성
이제 Cob1에는 컬렉션에 저장된 약 100 개의 개체가 있고 Cob2는 빈 컬렉션입니다. 내가하고 싶은 것은 Cob1에서 오브젝트를 선택하고 Cob2로 복사하는 것입니다. 그래도 난 개체를 선택할 때 다음과 같은 규칙이 순종하려는 :
가 나는 시간 범위를 지정할 수 있기를 원하고 내가 원하는만큼 객체가 사용자가 지정한 시간 범위에 맞게 선택할 수 (Length 속성 기준) . 예를 들어, 필자가 10 분의 시간 간격을 내 함수에 전달하면, 10 분 동안의 전체 윈도우를 채우는 객체를 선택하거나 가능한 한 그 객체를 채우기에 가깝게해야합니다.
개체를 두 번 선택해야합니다.
등급 속성이 높은 (등급 속성을 통해) 객체는 다른 객체를 선택하는 것이 좋습니다.
등급에 관계없이 최근 30 분간 선택한 개체가 다시 선택되어서 각 개체가 결국 한 번 이상 선택됩니다.
아무에게도이 작업을 수행하는 방법에 대한 팁을 줄 수 있습니까? 팁은 정신 프로세스, VB.NET 예제 코드, 의사 코드 또는 나를 도울 수있는 다른 모든 것의 형태 일 수 있습니다.
감사
편집 : 내가 실제 생활에서 할 노력하고있어 공개하면
어쩌면 그것은 모든 사람에게 도움이 될 것이다.
나는 음악과 광고를 자동으로 선택하는 라디오 방송국 용 소프트웨어를 만들고 있는데, 컴퓨터 화 된 프로그램 관리자와 비슷합니다.
길이는 사운드 바이트 (노래 또는 광고)의 길이를 나타내며 등급은 바로 그 것입니다. 노래가 인기가 있다면 더 많은 방송 시간을 갖습니다. 광고주가 더 많은 돈을 지불하면 더 많은 방송 시간을 얻습니다.
그래서 내 프로그램에서 20 분 정도 재생되는 노래를 선택하고 약 5 분 정도 재생할 광고를 선택해야합니다.
이 정보가 도움이되기를 바랍니다.
모두에게 감사드립니다.
앨런