初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2019-09-13 16:41:31

memean
Guest

[難解]運行路決定アルゴリズムを解きたい

お世話になっております。
トラックの運送管理を作っています。

配送伝票テーブル
-トラックID
-出発日
-到着日
-運行路No (計算フィールド)

次のようなアルゴリズムです。
1.出発日を9/1 到着日を9/2 にする。
2.他に伝票はないので、運行路Noは1に決定される

3.出発日が9/2 到着日が9/3 の伝票が作成される
4.すでに、到着日が9/2の伝票があるので、運行路Noは2に決定される

5.出発日が9/1 到着日が9/4 の伝票が作成される
6,期間内で、出発、到着を行う伝票は2件あるので運行路がNo.3に決定される

7.運行路No1に決定された伝票を再編集しても、運行路に変更がない場合(到着を9/2 -> 9/3に変更した場合など)は再計算しない
8,変更がある場合は最も小さい運行路Noを取得する


その他条件分からないことありましたらお聞きください。どうか計算フィールドだけで作成できると嬉しいです。(非保存でもなんでも大丈夫です)

#2 2019-09-13 17:26:53

Shin
Member

Re: [難解]運行路決定アルゴリズムを解きたい

上の状況で、出発日が9/4 到着日が9/5 の伝票が作成されると、どうなりますか。細小のNo1?1件あるのでNo2?それともNo3があるのでNo4?
運行路No1に決定された伝票を再編集しても、運行路に変更がない場合(出発日を9/1 -> 9/2に変更した場合など)は再計算しない?

Last edited by Shin (2019-09-13 18:25:33)

Offline

#3 2019-09-13 17:47:12

koeda
Member

Re: [難解]運行路決定アルゴリズムを解きたい

出発日と到着日で伝票を照合し、日付が重複する伝票の枚数を調べ、その枚数+1を運行路Noとして採番する、
というルールで良いですか?

トラックIDは採番に影響しないのですか?

Last edited by koeda (2019-09-13 18:02:44)

Offline

#4 2019-09-13 17:50:19

qb_dp
Member

Re: [難解]運行路決定アルゴリズムを解きたい

7.運行路No1に決定された伝票を再編集しても、運行路に変更がない場合(到着を9/2 -> 9/3に変更した場合など)は再計算しない
8,変更がある場合は最も小さい運行路Noを取得する

日付を変えても「運行路No」は、変更しないけど「何か?」を変えると「運行路No」変更???

ん~...。「運行路No」の採番基準が見えてこない.....

「運行路No」の使用目的を書くのが良いのでは。

Offline

#5 2019-09-17 08:24:35

memean
Guest

Re: [難解]運行路決定アルゴリズムを解きたい

Shinさん
出発日9/4の被りは一件、到着日の被りはなし、期間内の出発到着もなし、ですので運行路No2に入ります。

koedaさん
トラックIDごとに採番します。
採番ルールはそのような形です。

qpdpさん
日付を変更し、先述しました”被り件数"に変更がなければ運行路Noは再計算いたしません(非保存で件数を取得する場合は、再計算するたびに運行路Noが変更されてしまうため)
運行表を作成しており、トラック一台につき、1日あたり4往復を上限としてどこからどこへいくかをバーチャルリストに表示しています。
その際に、トラック一台につき運行路1-4を設け、伝票作成時に自動取得することで、バーチャルリストの作成時に利用しています。
イメージは・・・

トラック/日付       | 2019年9月1日 | 2019年9月2日 ・・・
トラック1 運行路1| 〇〇 => 〇〇   | 〇〇 => 〇〇
トラック1 運行路2| ・・・
トラック1 運行路3 | ・・・
トラック1 運行路4 | ・・・
トラック2 運行路1 | ・・・

みたいな表を作成してます。

#6 2019-09-17 09:25:08

チポ
Member

Re: [難解]運行路決定アルゴリズムを解きたい

明確なルールの提示が必要です。


例えば、挙げた例の
1.と3.の順を逆にした場合はどう考えます?

もし出発日付順だけで考えると、
5.が矛盾します。

到着日付順だけで考えるのなら簡単な話しでしょう。

それが、
伝票順も考えるのなら、伝票番号のようなフィールドが必要でしょう。

Offline

#7 2019-09-17 09:55:30

Shin
Member

Re: [難解]運行路決定アルゴリズムを解きたい

出発日と到着日から、それを含んだ其の間の日付を繰り返しフィールドに持たせます。それを自己リレーションすれば、重複のカウントができます。さらに、シリアルを持たせて、自分以下にしておけば、運行番号になります。
ただ、日を変更するとカウントが変わるので、そこをどうするかが難しいです。
https://www.dropbox.com/s/otgbfnhjlevmt … 2.zip?dl=0
みたいな動きで何とかできるかも。

Offline

#8 2019-09-17 11:52:02

Shin
Member

Re: [難解]運行路決定アルゴリズムを解きたい

> 出発日9/4の被りは一件、到着日の被りはなし、期間内の出発到着もなし、ですので運行路No2に入ります。
ひょっとして、その日その日で No1 からの設定になる?

また次の状況では、
1.出発日を9/1 到着日を9/2 にする。
2.他に伝票はないので、運行路Noは1に決定される
3.出発日が9/1 到着日が9/4 の伝票が作成される
4,期間内で、出発、到着を行う伝票は1件あるので運行路がNo.2に決定される
出発日が9/4 到着日が9/5 の伝票が作成されると、どうなりますか。No2 ですか?

トラック/日付    |2019年9月1日    | 2019年9月2日 ・・・
トラック1        | 〇〇 => △△    |
トラック1        |                | △△ => □□
トラック1        |                | □□ => ■■    |
トラック1        |                | ■■ =>         |    => ●●
トラック1        |                 |                  | ●●=>         | ・・・
トラック2        | ・・・
の表現の方が見やすくないですか。

Last edited by Shin (2019-09-18 08:54:13)

Offline

Registered users online in this topic: 0, guests: 1
[Bot] claudebot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.007 seconds, 9 queries executed - Memory usage: 522.14 KiB (Peak: 527.05 KiB) ]