przypisanie odpowiednich wartości |
przypisanie odpowiednich wartości |
11.10.2019, 15:33:39
Post
#1
|
|
Grupa: Zarejestrowani Postów: 125 Pomógł: 1 Dołączył: 4.06.2015 Ostrzeżenie: (0%) |
Witam,
mam pewien problem i nie mogę sobie poradzić... Mam pewną grupę operacji, kolumny to nazwa operacji, kolejność, długość operacji, id konstrukcji op1, 3, 4, 1 op2, 2, 2, 2 op3, 7, 1, 1 op4, 5, 8, 1 op5, 8, 4, 2 Chodzi o to, że te operacje należy wykonać wg kolejności od najmniejszej wartości do największej i potrzebuje ile jednostek czasowych przed jakimś tam terminem trzeba zakończyć każdą operacje, żeby, utrzymując poprawną kolejność, zmieścić się w czasie. Wszystko musi odbywać się z ramach jednej konstrukcji. Czyli chcę otrzymać: 13 6 1 9 4 Ktoś ma może jakiś pomysł? |
|
|
11.10.2019, 17:43:43
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Mógłbyś wyjaśnić skąd się wziął wynik?
Ja kiedy je posortowałem według kolejności, otrzymałem czasy: 2, 4, 8, 1, 4, czyli całość operacji to 19 jednostek. Operacje więc musiałaby się kończyć przed: (19-2)=17, (19-2-4)=13, (19-2-4-8)=5, (19-2-4-8-1)=4, (19-2-4-8-1-4)=0. -------------------- |
|
|
11.10.2019, 20:00:06
Post
#3
|
|
Grupa: Zarejestrowani Postów: 125 Pomógł: 1 Dołączył: 4.06.2015 Ostrzeżenie: (0%) |
Wszystko ładnie, tylko chodzi o to że to są dwie różne konstrukcje, dla których odejmujemy wartości osobno. Ostatnia kolumna to id konstrukcji. Operacja wykonywana w celu zbudowania jednej konstrukcji nie wpływa na inne konstrukcje.
|
|
|
11.10.2019, 20:40:40
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Nie określiłeś, że obliczanie czasu ma być również odrębne dla konstrukcji, lecz "operacje należy wykonać wg kolejności od najmniejszej wartości do największej".
To nie jest rozwiązanie, bo prosiłem, abyś wyjaśnił skąd się wzięły liczby. Tak chyba będzie łatwiej znaleźć rozwiązanie, którego szukasz. P.S. Dla odrębnych konstrukcji mamy czasy całkowite 13 oraz 6. Choć nadal nie wiem czy ma to w ogóle sens, bo nie wiem jaki tok postępowania przyjąć. -------------------- |
|
|
11.10.2019, 22:00:12
Post
#5
|
|
Grupa: Zarejestrowani Postów: 125 Pomógł: 1 Dołączył: 4.06.2015 Ostrzeżenie: (0%) |
Napisałem w pierwszym poście, że: "Wszystko musi odbywać się z ramach jednej konstrukcji"... ale masz racje, niepotrzebnie dodawałem czas tej konkretnej operacji w każdym przypadku. A więc wynikiem powinno być:
9 4 0 1 0 i tak np. 9 ponieważ konstrukcja nr 1 potrzebuje 3 operacji, a op1 w tej konstrukcji ma za sobą dwie operacje, które po wykonaniu op1 potrzebują 9 jednostek czasu. |
|
|
12.10.2019, 08:42:42
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Nadal nie rozumiem.
Skąd 4 i 0? Jeśli op1 potrzebuje 9 jednostek (za nią są 8+1), to op2 1 jednostkę (za nią 1), a op3 0 jednostek (za nią nic). -------------------- |
|
|
12.10.2019, 18:39:28
Post
#7
|
|
Grupa: Zarejestrowani Postów: 125 Pomógł: 1 Dołączył: 4.06.2015 Ostrzeżenie: (0%) |
4 dlatego że:
op2 wchodzi wskład konstrukcji nr 2 ta konstrukcja składa się z dwóch operacji: op2 i op5 najpierw należy wykonać op2, potem op5 (2<8) op2 zatem musi być zakończona 4 dni przed terminem 0, ponieważ po wykonaniu op2 potrzeba jeszcze 4 jednostek czasu na wykonanie op5 |
|
|
12.10.2019, 19:10:59
Post
#8
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Jeszcze bardziej stało się to dla mnie zagmatwane.
Najpierw była wartość 9 wynikająca z 3 operacji dla konstrukcji 1, a teraz jako druga pojawia się wartość wynikająca z konstrukcji 2, choć pisałeś, że wszystko ma się odbywać w ramach jednej konstrukcji (a z tego wyjaśnienia wynika, że jednak operacje są przemieszane). Jeśli kluczem sortowania będzie kolejność, to: oper: 2 1 4 3 5 czas: 2 4 8 1 4 kons: 2 1 1 1 2 czyli operacje będę przemieszane względem konstrukcji. Możesz pokazać w jakiej kolejności należy posortować przykładowe rekordy (na razie abstrahując od liczenia czasu)? -------------------- |
|
|
12.10.2019, 19:46:05
Post
#9
|
|
Grupa: Zarejestrowani Postów: 125 Pomógł: 1 Dołączył: 4.06.2015 Ostrzeżenie: (0%) |
1. Mam listę wszystkich operacji, ale operacje mogą być wykorzystywane do różnych konstrukcji.
2. Przy każdej operacji chce uzyskać kolumnę, z wartością ile jednostek czasowych przed terminem 0 musi być zakończona dana operacja, żeby przypisana do niej konstrukcja była zakończona w terminie 3. Np. w przypadku op1... wchodzi ona wskład wykonania konstrukcji nr 1 wraz z dwoma innymi operacjami: op3 i op4. Jest to pierwsza operacja potrzebna do wykonania tej konstrukcji (3<5, 3<7), a więc musi być ona wykonana na 9 dni przed terminem. 9 dni ponieważ op3 zajmuje 1 dzień, a op4 8 dni. Konstrukcje należy rozpatrywać osobno, ale lista operacji jest jedna, z różnymi konstrukcjami do nich przypisanymi. Czy teraz jest to trochę bardziej jasne? |
|
|
13.10.2019, 07:00:59
Post
#10
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
-------------------- |
|
|
15.10.2019, 13:38:29
Post
#11
|
|
Grupa: Zarejestrowani Postów: 125 Pomógł: 1 Dołączył: 4.06.2015 Ostrzeżenie: (0%) |
dzięki za pomoc. Dopiero w weekend będę miał okazję sprawdzić to na prawdziwej bazie, ale w teorii wygląda na to o co mi chodziło. Dziękuję.
Jeszcze się zastanawiam nad jedna rzeczą...jeśli w jakiejś konstrukcji będzie 7 operacji poprzedzających konkretna operacje i w sumie będzie należało odjąć 30 dni. To pojawia się tutaj problem weekendów i świąt. Bo oczywiście pracujemy jedynie w dni robocze. - jak do wartości 30 dodać określoną wartość wynikająca z weekendów pomiędzy tymi dwoma datami - jak do tej wartości dodać kolejne wartości, jeśli wynik powyżej wyjdzie w sobotę lub niedzielę - jak w tym wszystkim uwzględnić święta, których daty są przechowywane w dodatkowej tabeli Ten post edytował mihmih 15.10.2019, 13:48:06 |
|
|
Wersja Lo-Fi | Aktualny czas: 26.04.2024 - 15:15 |