regista6 / ea-fc-24-automated-sbc-solving Goto Github PK
View Code? Open in Web Editor NEWEA FC 24 Automated SBC Solving using Integer Programming ⚽
License: MIT License
EA FC 24 Automated SBC Solving using Integer Programming ⚽
License: MIT License
hi
thanks alot for this bot , It is very creative
i set conditions for daily fantacy sbc and add multiple account data to solver
but it's get too long time to reponse and sometimes not solve and break wall time
this is conditions
Clubs: Min 5
Same League Count: Min 4
Same Nation Count: Max 3
Rare: Min 3
Squad Rating: Min 78
Squad Total Chemistry Points: Min 26
of players in the Squad: 11
some of my accounts have more than 900 player but solver break the searching time
so i tested with input.csv but it's also break searching time
how can make it faster? how can i find problem?
Hi, thanks for your work
But i see all challanges that require ALL_PLAYERS_CHEMISTRY_POINTS look like dont work:
example First XI https://www.futbin.com/23/squad/100028424/sbc required Chemistry Points Per Player: Min 2
Hi, I was checking the project and was very hyped for the solver. Good job on the programming!! I'm just having trouble to understand the parameters for the sbc. could u provide any better info how to setup the input?
Sorry for my english.
Hello,
First of all, I am very thankful for wha you have built! Many, many thanks!
I try to solve a SBC, where I need min. 6 rarity, but the solver doesn't give me not even one. If I follow the guideline to uncomment from the "optimize" I get "IndentationError: unexpected indent".
I was wondering if you'd have the time to help with any advice, I am not sure what I do wrong. I also tried a few things to make it work, but I wasn't able to figure it out by myself.
Could you please have a look and let me know how can I add that? Thank you!
I've added the files that I used under my repository.
https://github.com/mgrecuu/EAFC
Hey!
Thanks so much for making this. It looks awesome. Im simply trying to create a config for an 86 squad with at least 1 prem player. How can I do this. I keep getting unknown. Thanks @Regista6 !
I only have these two uncommented.
`model = create_league_constraint(df, model, player, map_idx, players_grouped, num_cnts)`
`model = create_league_constraint(df, model, player, map_idx, players_grouped, num_cnts)`
My config:
`FORMATION = "4-3-2-1"
USE_PREFERRED_POSITION = False
USE_ALTERNATE_POSITIONS = True
NUM_PLAYERS = 11
FIX_PLAYERS = 1
LEAGUE = [["Premier League"]]
NUM_LEAGUE = [1]
SQUAD_RATING = 86
# Comment out other constraints
CLUB = []
NUM_CLUB = []
COUNTRY = []
NUM_COUNTRY = []
RARITY_1 = []
NUM_RARITY_1 = []
RARITY_2 = []
NUM_RARITY_2 = []
MIN_OVERALL = []
NUM_MIN_OVERALL = []
MAX_NUM_CLUB = 0
MIN_NUM_CLUB = 0
NUM_UNIQUE_CLUB = [0, "Exactly"]
MAX_NUM_LEAGUE = 0
MIN_NUM_LEAGUE = 0
NUM_UNIQUE_LEAGUE = [0, "Exactly"]
MAX_NUM_COUNTRY = 0
MIN_NUM_COUNTRY = 0
NUM_UNIQUE_COUNTRY = [0, "Exactly"]
CHEMISTRY = 0
CHEM_PER_PLAYER = 0
'''INPUTS'''
formation_dict = {
"3-4-1-2": ["GK", "CB", "CB", "CB", "LM", "CM", "CM", "RM", "CAM", "ST", "ST"],
"3-4-2-1": ["GK", "CB", "CB", "CB", "LM", "CM", "CM", "RM", "CF", "ST", "CF"],
"3-1-4-2": ["GK", "CB", "CB", "CB", "LM", "CM", "CDM", "CM", "RM", "ST", "ST"],
"3-4-3": ["GK", "CB", "CB", "CB", "LM", "CM", "CM", "RM", "CAM", "ST", "ST"],
"3-5-2": ["GK", "CB", "CB", "CB", "CDM", "CDM", "LM", "CAM", "RM", "ST", "ST"],
"3-4-3": ["GK", "CB", "CB", "CB", "LM", "CM", "CM", "RM", "LW", "ST", "RW"],
"4-1-2-1-2": ["GK", "LB", "CB", "CB", "RB", "CDM", "LM", "CAM", "RM", "ST", "ST"],
"4-1-2-1-2[2]": ["GK", "LB", "CB", "CB", "RB", "CDM", "CM", "CAM", "CM", "ST", "ST"],
"4-1-4-1": ["GK", "LB", "CB", "CB", "RB", "CDM", "LM", "CM", "CM", "RM", "ST"],
"4-2-1-3": ["GK", "LB", "CB", "CB", "RB", "CDM", "CDM", "CAM", "LW", "ST", "RW"],
"4-2-3-1": ["GK", "LB", "CB", "CB", "RB", "CDM", "CDM", "CAM", "CAM", "CAM", "ST"],
"4-2-3-1[2]": ["GK", "LB", "CB", "CB", "RB", "CDM", "CDM", "CAM", "LM", "ST", "RM"],
"4-2-2-2": ["GK", "LB", "CB", "CB", "RB", "CDM", "CDM", "CAM", "CAM", "ST", "ST"],
"4-2-4": ["GK", "LB", "CB", "CB", "RB", "CM", "CM", "LW", "ST", "ST", "RW"],
"4-3-1-2": ["GK", "CB", "CB", "LB", "RB", "CM", "CM", "CM", "CAM", "ST", "ST"],
"4-1-3-2": ["GK", "LB", "CB", "CB", "RB", "CDM", "LM", "CM", "RM", "ST", "ST"],
"4-3-2-1": ["GK", "LB", "CB", "CB", "RB", "CM", "CM", "CM", "CF", "ST", "CF"],
"4-3-3": ["GK", "LB", "CB", "CB", "RB", "CM", "CM", "CM", "LW", "ST", "RW"],
"4-3-3[2]": ["GK", "LB", "CB", "CB", "RB", "CM", "CDM", "CM", "LW", "ST", "RW"],
"4-3-3[3]": ["GK", "LB", "CB", "CB", "RB", "CDM", "CDM", "CM", "LW", "ST", "RW"],
"4-3-3[4]": ["GK", "LB", "CB", "CB", "RB", "CM", "CM", "CAM", "LW", "ST", "RW"],
"4-3-3[5]": ["GK", "LB", "CB", "CB", "RB", "CDM", "CM", "CM", "LW", "CF", "RW"],
"4-4-1-1": ["GK", "LB", "CB", "CB", "RB", "CM", "CM", "LM", "CF", "RM", "ST"],
"4-4-1-1[2]": ["GK", "LB", "CB", "CB", "RB", "CM", "CM", "LM", "CAM", "RM", "ST"],
"4-4-2": ["GK", "LB", "CB", "CB", "RB", "LM", "CM", "CM", "RM", "ST", "ST"],
"4-4-2[2]": ["GK", "LB", "CB", "CB", "RB", "LM", "CDM", "CDM", "RM", "ST", "ST"],
"4-5-1": ["GK", "CB", "CB", "LB", "RB", "CM", "LM", "CAM", "CAM", "RM", "ST"],
"4-5-1[2]": ["GK", "CB", "CB", "LB", "RB", "CM", "LM", "CM", "CM", "RM", "ST"],
"5-2-1-2":["GK", "LWB", "CB", "CB", "CB", "RWB", "CM", "CM", "CAM", "ST", "ST"],
"5-2-2-1": ["GK", "LWB", "CB", "CB", "CB", "RWB", "CM", "CM", "LW", "ST", "RW"],
"5-3-2": ["GK", "LWB", "CB", "CB", "CB", "RWB", "CM", "CDM", "CM", "ST", "ST"],
"5-4-1": ["GK", "LWB", "CB", "CB", "CB", "RWB", "CM", "CM", "LM", "RM", "ST"]
}
status_dict = {
0: "UNKNOWN: The status of the model is still unknown. A search limit has been reached before any of the statuses below could be determined.",
1: "MODEL_INVALID: The given CpModelProto didn't pass the validation step.",
2: "FEASIBLE: A feasible solution has been found. But the search was stopped before we could prove optimality.",
3: "INFEASIBLE: The problem has been proven infeasible.",
4: "OPTIMAL: An optimal feasible solution has been found."
}
def calc_squad_rating(rating):
'''https://www.reddit.com/r/EASportsFC/comments/5osq7k/new_overall_rating_figured_out'''
rat_sum = sum(rating)
avg_rat = rat_sum / NUM_PLAYERS
excess = sum(max(rat - avg_rat, 0) for rat in rating)
return round(rat_sum + excess) // NUM_PLAYERS
LOG_RUNTIME = True
`
Do you have plan to fix it for new fc24?
cause now is possible same player can autoswitch position then a CM player can be also at same time RB and get bonus for chemistry
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.