問題タブ [timeslots]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
573 参照

vb.net - 予約可能なタイムスロットを表すデータ構造

タイムスロットデータ構造について、人々はどのような提案をしていますか?

いくつかのアクティビティがあり、それらをデータグリッドに表示し、日数を列、タイムスロットを行として表示することを計画しています。これは、タイムスロットIDや残りのスロット数など、使用するすべての値に対して5日間(列)の5つのプロパティを持つタイムスロットデータ構造を示唆しています。

それで...

  • プロパティDay1ID
  • プロパティDay1Slots
  • プロパティDay2ID
  • プロパティDay2Slots
  • プロパティDay3ID
  • プロパティDay4Slots

次に、各TimeSlot構造は特定の時間になります...たとえば9:00と、その後の1時間ごとに別の構造になります。次に、データグリッドに対して自動バインドするタイムスロット構造のリストがあります。

私はここで新しい分野を探求しています、そしてあなたが見ることができるように私はそれを何/どのように行うかについてあまり明確ではありませんか?

すべての提案を歓迎します、

ありがとう

0 投票する
3 に答える
3422 参照

python - ワーカー/タイムスロット順列/制約フィルタリング アルゴリズム

この人たちと一緒に私を助けてくれることを願っています。それは仕事を助けるものではありません。非常に勤勉なボランティアの慈善団体のためのものであり、彼らは現在持っているものよりも混乱や煩わしさの少ないタイムテーブルシステムを実際に使用することができます.

これを(確かに)自動化する優れたサードパーティ製アプリを誰かが知っていれば、それはほぼ同じです. ただ...教室を予約するためのようなランダムな時間割を提案しないでください.彼らはこれを行うことができないと思います.

読んでいただきありがとうございます。私はそれが大きな投稿であることを知っています。ただし、これを明確に文書化し、自分で努力したことを示すために最善を尽くしています.

問題

次の基準を満たすワーカーのシフトを生成するワーカー/タイムスロット スケジューリング アルゴリズムが必要です。

入力データ

処理

上記から、シフト労働者は、処理する 2 つの主要な入力変数です。

各シフトには、必要な労働者の最小数と最大数があります。シフトの最小要件を満たすことは成功に不可欠ですが、他のすべてが失敗した場合、手動で埋めるギャップのある勤務表は「エラー」よりも優れています:) 主なアルゴリズムの問​​題は、十分な場合に不必要なギャップがあってはならないということです労働者が利用可能です。

理想的には、シフトの最大数の労働者が満たされることですが、これは他の制約に比べて優先度が最も低いため、何かを与える必要がある場合は、これにする必要があります。

柔軟な制約

これらは少し柔軟性があり、「完璧な」ソリューションが見つからない場合は、境界を少し広げることができます。ただし、この柔軟性は、ランダムに悪用されるのではなく、最後の手段であるべきです。理想的には、柔軟性は「fudge_factor」変数などで構成可能です。

  • 2 つのシフトの間に最小時間間隔があります。したがって、たとえば、同じ日に 2 つのシフトをスケジュールするべきではありません。
  • 労働者が特定の期間 (たとえば、1 か月) に行うことができるシフトの最大数があります。
  • 1 か月に行うことができる特定のシフトの最大数があります (夜勤など)。

あると便利ですが、必須ではありません

上記を実行し、これらの一部またはすべてを含むアルゴリズムを考え出すことができれば、私は非常に感銘を受け、感謝します. これらのビットを個別に実行するアドオン スクリプトも素晴らしいでしょう。

  • 重複するシフト。たとえば、「フロントデスク」のシフトと「バックオフィス」のシフトが同時に発生するように指定できるとよいでしょう。これは、異なるシフト データを使用してプログラムを個別に呼び出すことで実行できますが、特定の期間内に複数のシフトに人をスケジュールすることに関する制約が失われる場合があります。

  • (グローバルではなく) 作業者ごとに指定可能な、作業者の最小再スケジュール期間。たとえば、Joe が過労を感じているか、個人的な問題に対処している場合、または初心者であり、他の作業者よりも少ない頻度でスケジュールすることをお勧めします。

  • 利用可能な労働者が適合しない場合に、最小シフト数を満たすためにスタッフを選択する自動/ランダム/公正な方法。

  • 突然のキャンセルに対処し、他のシフトを再調整せずにギャップを埋める方法。

出力テスト

おそらく、アルゴリズムはできるだけ多くの一致するソリューションを生成する必要があります。各ソリューションは次のようになります。

上記のデータが与えられた場合の個々のソリューションのテスト関数を次に示します。これは正しいと思いますが、それについてのピアレビューもいただければ幸いです。

試み

これを遺伝的アルゴリズムで実装しようとしましたが、完全に調整できないようです。そのため、基本原理は単一シフトで機能するように見えますが、いくつかのシフトといくつかの簡単なケースでさえ解決できません。労働者。

私の最新の試みは、可能なすべての順列を解決策として生成し、次に制約を満たさない順列を絞り込むことです。これははるかに迅速に機能するようで、さらに理解を深めましたが、順列の生成を支援するために python 2.6 の itertools.product() を使用していますが、うまくいきません。正直なところ、問題は私の頭にうまく収まらないので、多くのバグがあっても驚かないでしょう:)

現在、このコードは、models.py と rota.py の 2 つのファイルにあります。models.py は次のようになります。

と rota.py は次のようになります。

結果の前にデバッグ出力を切り取ると、現在次のようになります。

0 投票する
6 に答える
496 参照

php - PHP while ループ時間

オブジェクト指向プログラミングに挑戦するのは初めてです。データベースからタイムスロットを繰り返そうとしていますが、結果が 1 つしか得られません。

タイムスロット テーブルには以下が含まれます。

PHPクラスで:

ループ時間を表示する Web ページで:

結果:

0 投票する
3 に答える
3874 参照

php - PHP タイムスロット予約

この質問に関して..

PHP 予約時間帯

'GROUP BY' id_timeslot を試してみましたが、予約されたタイムスロットが利用できないことを示しているだけなので、まだ機能しませんでした

私はその解決策を試しましたが、エラーが発生し、「coelence」の使用方法がよくわかりません

mysql テーブルに参加する

結果をエコーし​​、今日の日付と一致するかどうかを確認するか、利用可能に設定します

ウェブページからの結果 代替テキスト

そして、私は結果を次のようにしたい:

他の解決策をお願いします!

0 投票する
2 に答える
246 参照

php - PHP Mysql インクリメント 外部キー

外部キーを手動でインクリメントするにはどうすればよいですか。私は2つのテーブルを持っています

テーブルタイム

私が今持っているテーブルブック

ドロップダウン メニュー (所要時間)

たとえば、ユーザーが 10:00 を選択し、「治療に費やす 30 分」を次のように表示したいとします。

phpコード:

0 投票する
3 に答える
843 参照

c++ - リアルタイムを必要としないタイムスロットの作り方(あくまでもシミュレーションです)

現在、何かのシミュレーションを行っていますが、リアルタイムを使用できないため、タイムスロットを定義する必要があります。たとえば、最初の 5 分間と次の 5 分間に何人の人が銀行に入ったかを知りたいのですが、シミュレーションだけを行いたいので、毎回 5 分間待たずに結果を得ることができます。 .

誰か助けてくれませんか??

0 投票する
1 に答える
268 参照

mysql - タイムスロットをタイムスタンプにマッピングする

336行のテーブルがあります。各列は、1 週間を通して 1 日 30 分間集まります。つまり: 24 x 2 x 7

タイムスタンプ: UNIX 形式

時間帯: (まだわからない)

私の目的は、テーブル内のタイムスロットに名前を付ける最良の方法を見つけて、タイムスタンプをテーブル内の行 (タイムスロット) にマップできるようにすることです。

例10830dhhmmは日曜日の午前 8 時 30 分を意味します。

しかし、mysql を使用してデータをフェッチするときに問題が発生しました。より良い命名規則を提案できる人はいますか?

0 投票する
1 に答える
336 参照

mysql - 開始時間と終了時間から時間枠を作成する

私が何年にもわたって立ち往生してきた何かで私を助けることができることを願っています.

私は2つのテーブルを持っています。1 つは、コスト、開始時間、終了時間のフィールドを持つ従業員レコードを持っています。他のテーブルには、実際の時間で収益があります。収益と費用を時間単位でグループ化したレポートを生成したいと考えています。これを行うための最良のアプローチは何ですか?

私はmysqlを使用しています。

使用したコード:

テーブル構造 (最後の列はクエリに追加したものです): http://ge.tt/9yzYx39?c

0 投票する
1 に答える
224 参照

mysql - MySQL の 2 つのテーブルに基づいて空きタイムスロットを決定する

だから私は2つのテーブルを持っています。

表 1 の名前は「予定」で、フィールドはID(int)、TimeboxID(int)、Date(date) です。

表 2 の名前は「timebox」で、フィールドはID(int)、Weekday(int)、StartTime(varchar)です。

表 1 はすべての予定 ( Date+TimeboxIDコンボ) を保持し、表 2 は曜日ごとに利用可能なタイムスロットを定義します。

これが私の質問です: 1 つのクエリで、空き時間枠が利用可能な日付 (およびその数) を調べるにはどうすればよいですか?

ps。フィールドStartTimeは表示にのみ必要で、ここでは意味がありません。

0 投票する
2 に答える
3089 参照

php - サービス時間に応じてタイムスロットを無効にする方法は?

私が望むのは、私の営業時間に従ってタイムスロットリストを計算し、予定によって予約されたタイムスロットをブロックまたは無効にすることです。

私は自分の問題でこれらのことを行い、最後のタスクに固執しました。以下に言及します。

今日の営業時間に従って、15分のタイムスロットリストを生成しました。

今私は3つの予定を予約しました

予定| 開始時間から終了時間


アポイントメント-1:10:00 AM〜11:00AM(私のサービス期間60分による)
アポイントメント-2:11:15AM〜12:15PM
アポイントメント-3:1:00PM〜2:00PM


次に、予定ですでに予約されているタイムスロットを無効にします

最後に行うタスクは、次のようにサービス期間の対象とならないタイムスロットを削除する方法です。