Kejatuhan FMEX telah merugikan banyak orang, tetapi baru-baru ini datang dengan pelan semula dan merumuskan peraturan yang serupa dengan perlombongan asal untuk membuka hutang mereka.https://www.fmz.com/bbs-topic/5834. Pada masa yang sama, terdapat ruang untuk pengoptimuman dalam perlombongan pemisahan. Walaupun orang tidak boleh melangkah ke dalam lubang yang sama dua kali, mereka yang mempunyai tuntutan kewangan pada FMEX mungkin ingin mencubanya, strategi pasaran sebenar tertentu juga akan dikeluarkan.
Tentukan setiap 5 minit dalam setiap hari sebagai kitaran pembukaan pemisahan, dan setiap kitaran memperuntukkan 1/288 daripada jumlah pembukaan pemisahan pasangan dagangan pada hari itu. Dalam setiap kitaran, satu titik masa dipilih secara rawak untuk mengambil imej snapshot transaksi pada pesanan menunggu pesanan dagangan, di mana:
Beli 1 Mengikut perkadaran jumlah pesanan pengguna yang menunggu, peruntukkan 1/4 daripada jumlah bayaran balik kitaran pemisahan buka kunci
Jual 1 Mengikut perkadaran jumlah pesanan pengguna yang menunggu, peruntukkan 1/4 daripada jumlah bayaran balik kitaran pemisahan pembukaan
Beli 2 untuk Beli 5 daripada empat ini menunggu lapisan pesanan, mengikut perkadaran jumlah pengguna
Jual 2 untuk Jual 5 daripada empat ini menunggu lapisan pesanan, mengikut perkadaran jumlah pengguna
Beli 6 ke Beli 10 daripada lima lapisan pesanan yang menunggu ini, mengikut perkadaran jumlah pesanan pengguna dalam setiap pesanan, peruntukan kitaran pembukaan pesanan dibahagikan kepada 1/50
Jual 5 untuk Jual 10 daripada lima lapisan pesanan yang menunggu ini, mengikut perkadaran jumlah pesanan pengguna dalam setiap pesanan, peruntukan kitaran pembukaan pesanan dibahagikan kepada 1/50
Beli 11 ke Beli 15 daripada lima lapisan pesanan yang menunggu ini, mengikut perkadaran jumlah pesanan pengguna dalam setiap pesanan, peruntukan kitaran pembukaan pesanan dibahagikan kepada 1/100
Jual 5 untuk Jual 15 daripada lima lapisan pesanan yang menunggu ini, mengikut perkadaran jumlah pesanan pengguna dalam setiap pesanan, peruntukan kitaran pembukaan pesanan dibahagikan kepada 1/100
Jumlah bayaran balik pesanan pengguna yang membuka kunci dalam pasangan dagangan tertentu pada hari yang sama adalah jumlah jumlah kredit yang dikembalikan oleh pesanan pengguna yang membuka kunci setiap kitaran dalam urus niaga.
Pertama, jumlah pendapatan pemisahan dan pembukaan adalah:
Di mana?i
mewakili salah satu kedudukan, dan terdapat 30 kedudukan di kedua-dua belah pihak,a
adalah jumlah pesanan yang belum selesai,R
adalah jumlah bayaran balik yang tidak dikunci, danV
adalah jumlah keseluruhan pesanan yang ada.
Tidak seperti pembukaan transaksi, tidak ada kos untuk pesanan menunggu.R
Jika kita menentukan jumlah keseluruhan pesanan yang menunggu, soalan menjadi bagaimana untuk memperuntukkan pesanan kepada kedudukan yang berbeza untuk memaksimumkan keuntunganG
. Hanya mencari kedudukan dengan jumlah yang paling kecil pesanan menunggu dan menunggu mereka semua adalah jelas bukan penyelesaian yang optimum. sebagai contoh yang sedia ada pesanan menunggu dalam tiga kedudukan adalah semua 10, dan merekaR
Jika hanya satu kedudukan yang dipilih, pulangan akhir adalah 0.75R. Jika setiap kedudukan diletakkan 10, pulangan akhir adalah 1.5R, yang menunjukkan bahawa kadang-kadang pulangan dari penyebaran pesanan yang menunggu lebih baik. Jadi bagaimana untuk memperuntukkan dana?
Pada akhirnya, matlamat pengoptimuman dan kekangan kami adalah:
Di mana?M
adalah jumlah keseluruhan pesanan yang menunggu. Ini adalah masalah pengoptimuman melengkung kuadrat yang mengandungi ketidaksamaan, memuaskan syarat KTT, dan diselesaikan sebagai bilangan bulat. Menggunakan pakej yang sepadan dan pemecah pengoptimuman melengkung harus dapat mendapatkan hasil secara langsung dan mengembalikan jumlah pesanan yang paling optimum untuk setiap kedudukan. Tetapi ini jelas bukan jawapan yang kita mahukan, kita perlu mempermudah masalah dan mendapatkan langkah penyelesaian tertentu.
Hanya dua lapisan harga yang dipertimbangkan. pesanan yang sedang menunggu adalah 10 dan 20 (disebut lapisan pertama dan kedua, masing-masing), dan jumlah yang tidak dikunci adalahR
, dan jumlah keseluruhan strategi menunggu pesanan adalah 30. bagaimana untuk memperuntukkan dana mencapai jumlah maksimum tidak terkunci? soalan ini kelihatan mudah, tetapi sukar untuk menarik kesimpulan yang betul tanpa pengiraan. pembaca mungkin ingin berfikir tentang jawapan terlebih dahulu.
Pelan 1:
Cari kedudukan pesanan terpendek terkecil, gantung mereka semua, jumlah pulangan akanG=30/(30+10)=0.75R
Ini juga penyelesaian yang paling mudah untuk difikirkan.
Rancangan 2:
Setiap kali ia diperuntukkan 1 yuan, dan diperuntukkan ke tempat yang boleh menjana keuntungan terbesar, iaitu kedudukan dengan jumlah pesanan yang paling kecil. Kemudian yuan pertama akan diperuntukkan ke lapisan harga pertama, jumlah pesanan yang menunggu di lapisan harga pertama akan menjadi 10 + 1, dan yuan kedua juga akan diperuntukkan ke lapisan harga pertama... dan seterusnya, sehingga kumulatif diperuntukkan ke lapisan harga pertama 10 yuan, maka anda boleh Pilih satu secara rawak. Apabila jumlah pesanan yang menunggu di lapisan harga pertama melebihi 20, lapisan harga seterusnya akan diperuntukkan ke lapisan harga kedua. Hasil akhir adalah 20 yuan untuk lapisan harga pertama dan 10 yuan untuk lapisan harga kedua. Pengembalian pesanan akhir mereka adalah semua 30.
Pelan 3:
Anda boleh menetapkan lapisan harga pertama untuk memperuntukkana
, dan lapisan harga kedua adalah30-a
, maka anda boleh langsung menyenaraikan persamaan dan mencarinya sebagai 0 (proses ini dihilangkan, serupa dengan artikel perdagangan membuka kunci), mengira hasil akhir, formula adalah:
Bawa ke dalam bulat untuk mencaria=15
. Jumlah pulanganG=15/25+15/35=1.0286R
, yang lebih baik daripada Pelan 2. Kerana ia berasal secara langsung dari formula, ini adalah pilihan yang optimum, pembaca boleh menyemaknya.
Hasilnya mungkin berbeza dari harapan semua orang. rancangan 2 jelas menunjukkan bahawa peruntukan setiap elemen adalah penyelesaian optimum di bawah situasi semasa. Mengapa tidak penyelesaian optimum keseluruhan? Situasi ini sangat biasa, dan optimum tempatan tidak semestinya optimum keseluruhan, kerana sebelum peruntukan, jumlah pesanan yang belum selesai telah dilaburkan, dan kecekapan keseluruhan perlu mempertimbangkan kos tenggelam. Matlamat kami untuk setiap langkah pengoptimuman adalah untuk mencapai kecekapan keseluruhan tertinggi dan bukan pulangan tunggal tertinggi.
Akhirnya, operasi yang boleh dilaksanakan yang sebenar bermula, atau untuk mempermudah masalah dengan memperuntukkan 1 yuan setiap kali. Pertama sekali, mengukur kecekapan.a
kepadaG
. Penyumbang ini mengambil kira kos kumulatif, dan bukannya pendapatan daripada satu pembahagian. Semakin besar nilai, semakin besar sumbangan keseluruhan kepada faedah akhir.a=1
, dari kehadiran ke ketiadaan, kecekapan adalah tertinggi, dan kemudian beransur-ansur menurun.
Begitu juga, mengambil contoh mudah di atas sebagai contoh, mengira kecekapan mereka selepas memperuntukkan dana secara berasingan dan senaraikan jadual:
Dana | 1 | 2 |
---|---|---|
1 | 0.0826 | 0.0454 |
2 | 0.069 | 0.0413 |
3 | 0.0592 | 0.0378 |
4 | 0.051 | 0.0347 |
5 | 0.0444 | 0.032 |
… | … | … |
12 | 0.0207 | 0.0195 |
13 | 0.0189 | 0.0184 |
14 | 0.0174 | 0.0173 |
15 | 0.016 | 0.0163 |
16 | 0.0148 | 0.0154 |
17 | 0.0137 | 0.0146 |
18 | 0.0128 | 0.0139 |
Menurut jadual, yuan pertama diberikan kepada lapisan harga pertama, yuan kedua diberikan kepada lapisan harga pertama... yuan kelima diberikan kepada lapisan harga kedua... dan seterusnya, dan akhirnya diberikan kepada lapisan harga pertama 15 yuan, lapisan harga kedua 15 Yuan adalah penyelesaian optimum yang kami hitung mengikut persamaan.
V=0
, makaa=1
, tidak lagi memperuntukkan dana yang berlebihan.N
saham, dan pilih satu lapisan harga untuk memperuntukkan pada satu masa.RV/pow(a+V, 2)
, a
mewakili jumlah dana yang dikumpulkan diposisi ini + dana yang dikumpulkan pada masa ini.Jika jumlah pesanan yang belum selesai adalah besar dan kecekapan setiap peruntukan yuan terlalu rendah, kita boleh membahagikan dana menjadi 100 dan memperuntukkan satu setiap kali. Oleh kerana ia hanya pengatur operasi yang mudah, kecekapan algoritma sangat tinggi. Khusus untuk tahap pelaksanaan, masih ada ruang untuk pengoptimuman, seperti membahagikan pesanan kita menjadi 100, sehingga setiap kali anda menyesuaikan, anda hanya perlu menetapkan semula pesanan dan tidak perlu membatalkan semuanya.R
Terdapat bahagian yang bertindih untuk mengurutkan membuka kunci dan menunggu perintah membuka kunci, yang boleh dipertimbangkan bersama-sama, dan sebagainya.